jquery – Google Maps api V3更新标记

前端之家收集整理的这篇文章主要介绍了jquery – Google Maps api V3更新标记前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一张地图加载.
我想添加一个标记,它从文本框中拉长和长度,我不能理解它.

当我点击updatemap按钮时,没有任何事情发生.

这是我的代码到目前为止

$(document).ready(function () {
    alert("Dom,dom dom dom dom");


var map;
var marker;

function initialize() {
    var myLatlng = new google.maps.LatLng(40.65,-74);
    var myOptions = {
        zoom: 2,center: myLatlng,mapTypeId: google.maps.MapTypeId.ROADMAP,}

    var map = new google.maps.Map(document.getElementById('map_canvas'),myOptions);
}



$("#updateMap").click(function(){


    var newLatLng = new google.maps.LatLng(lat,lng);
    marker.setPosition(newLatLng);

    var lat = parseFloat(document.getElementById('markerLat').value);
    var lng = parseFloat(document.getElementById('markerLng').value);
    var newLatLng = new google.maps.LatLng(lat,lng);


    marker = new google.maps.Marker({
        position: newLatLng,map: map,draggable: true
    });


});


});



// Onload handler to fire off the app.
google.maps.event.addDomListener(window,'load',initialize);

});

解决方法

更新

此外,您的全局映射引用从未设置为实际的映射实例,因为您使用本地var相同的名称进行映射.

var map = new google.maps.Map(document.getElementById('map_canvas'),myOptions);

这应该是

map = new google.maps.Map(document.getElementById('map_canvas'),myOptions);

在初始化之前,您将使用lat和lng作为标记位置(除非它们全局设置在某处):

var newLatLng = new google.maps.LatLng(lat,lng);
marker.setPosition(newLatLng);

如果你想更新同一个标记的位置,而不是创建一个新的位置,你应该这样做:

$("#updateMap").click(function(){
    var lat = parseFloat(document.getElementById('markerLat').value);
    var lng = parseFloat(document.getElementById('markerLng').value);
    var newLatLng = new google.maps.LatLng(lat,lng);
    marker.setPosition(newLatLng);
});
原文链接:https://www.f2er.com/jquery/180255.html

猜你在找的jQuery相关文章