钛Map.Annotation纬度,拖后经度不变?

时间:2016-04-29 13:10:13

标签: annotations appcelerator appcelerator-titanium

我在地图中有1 annotation来选择一个地方,拖放后注释我应该采用新的注释lang,lat,然而在拖动之后删除注释lang,lat仍显示旧凭据

  

我无法获得新的注释凭据,任何想法?

var MapModule = require('ti.map');
var mapView = MapModule.createView({
    mapType : MapModule.TERRAIN_TYPE,
    height : '50%',
    width : Ti.UI.FILL,
    top : 1,
    zoom : 12,
    region : {
        latitude : 33.373296399867975,
        longitude : 44.35598730468746,
        latitudeDelta : 0.6,
        longitudeDelta : 0.6
    },
    userLocation : true,
    animate : true,
    annotations : []
});
win.add(mapView);

annotation = MapModule.createAnnotation({
    latitude : dalel.latitude,
    longitude : dalel.longitude,
    title : L('long_press_then_move'),
    subtitle : L('drag_drop_anotion'),
    draggable : true,
});
mapView.annotations = [annotation]; 

在这里我如何获得注释的lang lat:

data.longitude = mapView.annotations[0].longitude;
data.latitude  = mapView.annotations[0].latitude;

2 个答案:

答案 0 :(得分:1)

我从来没有完全相同的工作: - (

相反,我实施了长按" event用于在新位置设置注释并删除旧注释。事实证明,从用户的角度来看这也是更好的,因为拖动注释有时很困难 - 特别是如果你需要将它拖到可见地图的边缘附近甚至更远。

所以我建议你考虑这个选择。它是否适合您显然取决于您的应用程序的功能。

/约翰

答案 1 :(得分:0)

要接收拖动的图钉的新位置,请收听地图视图的pinchangedragstate事件。