钛移动针coords

时间:2018-03-28 19:06:52

标签: javascript maps titanium coordinates appcelerator

我在地图中移动图钉后试图获得坐标。我使用了用户当前位置,当我打开地图时显示正确。但是当我将别针移到另一条街道时,却无法让新的坐标显示出相同的坐标。

这是我的代码

var Map = require('ti.map');

if(Ti.Geolocation.locationServicesEnabled){

Ti.Geolocation.addEventListener('location', function(e) {

    if (e.error){

        alert('Error: ' + e.error);

    }else {
        longitude = e.coords.longitude;
        latitude = e.coords.latitude;



var mapView = Map.createView({
top          : 0,
left         : 0,
bottom       : 0,
right        : 0,
mapType      : Map.STANDARD_TYPE,
animate      : true,
regionFit    : true,
userLocation : false,
touchEnabled : true,
draggable    : true
});



view3.add(mapView);
view3.add(boton2);

var annotation = Map.createAnnotation({
latitude    : latitude,
longitude   : longitude,
title       : 'Selecciona Tu Ubicación',
draggable   : true
});

mapView.setAnnotations([annotation]);

var region = {
latitude       : latitude,
longitude      : longitude,
animate        : true,
latitudeDelta  : 0.005,
longitudeDelta : 0.005
};
mapView.setRegion(region);

mapView.addEventListener('pinchangedragstate', function(e) {
    Ti.API.info(longitude + ' - ' + latitude);
}); 
    }

});

}else{

alert('Por favor habilita los servicios de ubicación');
}

谢谢!

1 个答案:

答案 0 :(得分:0)

您正在记录您手动设置的变量,这些变量不会自动更改。您必须使用注释来检查坐标。

如果您查看事件documentation,您会看到注释也会返回。

mapView.addEventListener('pinchangedragstate', function(e) {
    Ti.API.info(e.annotation.longitude + ' - ' + e.annotation.latitude);
});