Google Maps API V3 を Rhodes (http://rhomobile.com/) アプリに統合しようとしています。デスクトップ Web サイトと jQuery モバイル Web サイトを作成したため、Google マップ V3 の使用経験は豊富です。しかし、私はそれを機能させることができません。
iPhone Simulator を使用してテストします。以下の JS コードでは、alert("Test3"); の間にコードがクラッシュします。およびアラート("Test4");
layout.erb の head セクションで、Google Maps V3 API を次のように呼び出します。
<script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=true"></script>
<script src="/public/js/application.js" type="text/javascript"></script>
application.js の JS コード (layout.erb に含まれています):
function initialize() {
alert("Test");
var latlng = new google.maps.LatLng(-34.397, 150.644);
alert("Test2");
var myOptions = {
zoom: 8,
center: latlng,
mapTypeId: google.maps.MapTypeId.ROADMAP
};
alert("Test3");
var map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);
alert("Test4");
}
コードを表示:
<div class="pageTitle">
<h1>Map Test</h1>
</div>
<div class="toolbar">
<div class="leftItem backButton">
<a href="<%= url_for :action => :index %>">Back</a>
</div>
</div>
<div class="content">
<div id="map_canvas" style="width: 100%; height: 100%; padding: 0;"></div>
</div>
コントローラーコード:
def view
WebView.execute_js("initialize();")
end
この場合も、alert("Test3"); の後でコードがクラッシュします。エラー メッセージは表示されません。ロードはページを開くだけで、Test、Test2、および Test3 のポップアップが表示されます。
Rhodes で Google マップ V3 を使用する方法の例はありますか。どこかに欠けている癖があるはずです。