2012-07-26 65 views
1

我使用Geocoder来翻译通过文本字段在经度和纬度方面给出的地址,然后将地图区域设置为该位置,如下所示。钛mapview效果不好

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中的新坐标。如果有人知道这个问题的原因,请帮助我。

谢谢。

回答

2

试试这个
mapview.setLocation({latitude: e.latitude, longitude: e.longitude, latitudeDelta:0.1, longitudeDelta:0.1});