Titanium(iPhone)でデモマップビューを作成します。これが私がKitchenSinkから取得したコードです:
var win = Titanium.UI.currentWindow;
var annotation = Titanium.Map.createAnnotation({
latitude:42.334537,
longitude:-71.170101,
title:"Boston College",
subtitle:'Newton Campus, Chestnut Hill, MA',
animate:true,
leftButton:'../images/atlanta.jpg'
});
var boston = {latitude:42.334537,longitude:-71.170101,latitudeDelta:0.010, longitudeDelta:0.018};
//
// CREATE MAP VIEW
//
var mapview = Titanium.Map.createView({
mapType: Titanium.Map.STANDARD_TYPE,
region: boston,
animate:true,
regionFit:true,
userLocation:true,
annotations:[annotation]
});
win.add(mapview);
iPhoneシミュレーターと実際の電話の両方でうまく動作します。問題は、イベント「regionChanged」をキャッチすると、マップ領域が間違っていることです。私のコードは次のとおりです。
var win = Titanium.UI.currentWindow;
var annotation = Titanium.Map.createAnnotation({
latitude:42.334537,
longitude:-71.170101,
title:"Boston College",
subtitle:'Newton Campus, Chestnut Hill, MA',
animate:true,
leftButton:'../images/atlanta.jpg'
});
var boston = {latitude:42.334537,longitude:-71.170101,latitudeDelta:0.010, longitudeDelta:0.018};
//
// CREATE MAP VIEW
//
var mapview = Titanium.Map.createView({
mapType: Titanium.Map.STANDARD_TYPE,
region: boston,
animate:true,
regionFit:true,
userLocation:true,
annotations:[annotation]
});
win.add(mapview);
// map view click event listener
mapview.addEventListener('regionChanged',function(evt)
{
});
このイベントでは、私も何も書きませんでした。シミュレーターでは、最初のケースと同じように機能しますが、実際の電話では、マップのズームレベルが突然最大になります。緯度デルタ=1に設定しましたが、地図のズームレベルは、緯度デルタ=0.001のように最大にズームインされます。
それで、このバグの根本は何ですか?誰でも私を助けることができますか?