来自plugin.google.maps(不是com.google.maps)的标记不会更改其位置

时间:2015-03-16 01:44:50

标签: javascript android google-maps cordova

我正试图用记号笔跟踪我的位置,但我无法改变它的位置。 所以这就是给我带来问题的功能;如果您需要更多代码,请索取。

   onSuccessLocation: function(position){   
    currentLatLong = new getLatLong(position);
    if(currentPositionMarker == null){

    currentPositionMarker = new map.addMarker({

    'position': currentLatLong,
    'title': "I'm here",
    'styles' : {
            'text-align': 'center',
            'font-style': 'italic',
            'font-weight': 'bold',
            'color': 'red'
        }})
    }   

    else{
    alert(currentLatLong.toString());
    currentPositionMarker.setPosition(new currentLatLong);
    }

    }

   function getLatLong(position){
    var longitude = position.coords.longitude;
    var latitude = position.coords.latitude;
    var currentLatLong = new plugin.google.maps.LatLng(latitude,                  longitude);
    return currentLatLong;
};

我知道“currentLatLong”是竖起来的,因为我可以通过警报看到它。我的猜测是currentPositionMarker.setPosition(new currentLatLong)无效,因为我没有正确使用它。另外,我正在使用watchPosition来跟踪位置(它工作正常)它给我的位置超时2秒,我正在测试一个加号。

提前谢谢!

1 个答案:

答案 0 :(得分:0)

试试这个

 onSuccessLocation: function(position){   
        currentLatLong = new getLatLong(position);
 //set up marker
    var mylocationMarker = new google.maps.Marker({
          position:currentLatLong,
          map: map,
          title: 'My location'
        });
        };

       function getLatLong(position){
        var longitude = position.coords.longitude;
        var latitude = position.coords.latitude;
        var currentLatLong = new plugin.google.maps.LatLng(latitude,                  longitude);
        return currentLatLong;
    }

还要确保正确加载谷歌地图的JavaScript库。