1

Geocoder を使用して、テキスト フィールドで指定された住所を緯度と経度に変換し、次のようにマップ リージョンをその場所に設定します。

var location = Titanium.UI.createTextField({...});
var btnSearch = Titanium.UI.createButton({...});
var mapview = Titanium.Map.createView({
    top: 75,    height: 350,
    mapType: Titanium.Map.SATELLITE_TYPE,
    animate: true,  regionFit: true,    userLocation: true
});
btnSearch.addEventListener('click',function(e){
    if(location.value != '') {
        Ti.Geolocation.forwardGeocoder(location.value, function(e){
            Ti.API.info(location.value + '\'s co-ordinates are: ' + e.latitude + ' lat, ' + e.longitude + ' lon');
            mapview.region = {latitude: e.latitude, longitude: e.longitude, latitudeDelta:0.1, longitudeDelta:0.1};
        });
    } 
    else {
        alert('You must provide a start address!');
    }
});

変換プロセスは正常に機能しますが、マップ領域は mapview で新しい座標に設定されていません。誰かがこの問題の原因を知っているなら、私を助けてください。

ありがとう。

4

1 に答える 1

2

これを試して
mapview.setLocation({latitude: e.latitude, longitude: e.longitude, latitudeDelta:0.1, longitudeDelta:0.1});

于 2012-07-26T05:11:11.277 に答える