jQuery Mobile を実装して、Phonegap でモバイル アプリケーションを構築しています。Blackberry、Ios、および Android で同じアプリを構築しています。iOS と Android の Google マップは期待どおりに機能します。マップをクリックすると、そのイベントで Web サービスを呼び出すイベント リスナーができます。しかし、blackberry では、マップはスクロールできず (修正されています)、マップをクリックすることもできません。何か案は?
私のフレームワークは広範囲ですが、関連するコードは次のとおりです。
GpsLinkClicked: function()
{
kmTolerance="100";
model.getLocation();
setTimeout(function()
{
doneWithSections=app.save("doneWithSections", '');
var script = document.createElement("script");
script.type = "text/javascript";
script.src = "http://maps.googleapis.com/maps/api/js?key=mykeyishere&sensor=false&callback=model.initializeMap";
document.body.appendChild(script);
},1000);
},
initializeMap: function()
{
currentLocation=app.get('currentLocation');
currentLocation=$.parseJSON(currentLocation);
var myLatlng = new google.maps.LatLng(currentLocation.latitude, currentLocation.longitude);
var mapOptions = {
zoom: 16,
center: myLatlng,
mapTypeId: google.maps.MapTypeId.ROADMAP
}
var map = new google.maps.Map(document.getElementById("content-dataview"), mapOptions);
var marker = new google.maps.Marker({
position: myLatlng,
map: map,
title:"My Location"
});
google.maps.event.addListener(map, 'click', function(event) {
model.mapClicked(event.latLng);
});
$("#content-dataview").attr("style", "height: 480px");
$("#content-dataview").trigger( "updatelayout" );
},
mapClicked: function(location)
{
loc=JSON.stringify(location);
locObj=$.parseJSON(loc);
var data={
latitude: locObj.kb,
longitude: locObj.lb,
kmTolerance: "0.2"
};
model.callAjax("GetLookupsWithGps", "POST", JSON.stringify(data));
},