我正在使用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中的新坐标。如果有人知道这个问题的原因,请帮助我。
感谢。
答案 0 :(得分:2)
试试这个
mapview.setLocation({latitude: e.latitude, longitude: e.longitude, latitudeDelta:0.1, longitudeDelta:0.1});