Javascript 通过它更新Google地图标记位置';身份证

Javascript 通过它更新Google地图标记位置';身份证,javascript,google-maps,google-maps-api-3,Javascript,Google Maps,Google Maps Api 3,我正在创建Google地图标记并为其分配一个ID,如下所示: var marker = new google.maps.Marker({ position: new google.maps.LatLng(data.Latitude, data.Longitude), map: map, id: data.ID }); 这会导致标记出现在地图上,但是我还想在以后更新标记的位置,如何根据分配给它的ID抓取标记,然后更新其

我正在创建Google地图标记并为其分配一个ID,如下所示:

var marker = new google.maps.Marker({
             position: new google.maps.LatLng(data.Latitude, data.Longitude),
             map: map,
             id: data.ID
});
这会导致标记出现在地图上,但是我还想在以后更新标记的位置,如何根据分配给它的ID抓取标记,然后更新其位置

我知道你可以在Google API中的marker对象上用setPosition(latlng:latlng)更新位置,但是我如何通过它的ID抓取标记?

试试下面的代码

 <script  src="https://maps.googleapis.com/maps/api/js?key=YOUR-API-KEY&libraries=places" type="text/javascript"></script>

    <script>
        $(document).ready(function () {


            var long = $('#ContentPlaceHolder1_hidlog').val();
            var lati = $('#ContentPlaceHolder1_hidlat').val();

            var mapCenter = new google.maps.LatLng(lati, long);
                var map;
                map_initialize();
                function map_initialize() {


                    var googleMapOptions =
                    {
                        center: mapCenter,
                        zoom: 18,
                        panControl: true,
                        zoomControl: true,
                        zoomControlOptions: {
                            style: google.maps.ZoomControlStyle.SMALL
                        },
                        scaleControl: true,
                        mapTypeId: google.maps.MapTypeId.ROADMAP
                    };
                    var marker = new google.maps.Marker({
                        position: mapCenter,
                        title: "Event Map"
                    });
                    map = new google.maps.Map(document.getElementById("google_map"), googleMapOptions);
                    marker.setMap(map);
                }
                var getCen = map.getCenter();
                google.maps.event.addDomListener(window, 'resize', function () {
                    map.setCenter(getCen);
                });

                google.maps.event.addDomListener(window, 'load', map_initialize());

                google.maps.event.addDomListener(window, "resize", resizingMap());

                $('#showmap').on('show.bs.modal', function () {
                    resizeMap();
                })

                function resizeMap() {
                    if (typeof map == "undefined") return;
                    setTimeout(function () { resizingMap(); }, 400);
                }

                function resizingMap() {
                    if (typeof map == "undefined") return;
                    var center = map.getCenter();
                    google.maps.event.trigger(map, "resize");
                    map.setCenter(center);
                }
            });

    </script>   

$(文档).ready(函数(){
var long=$('#contentplaceholder 1_hidlog').val();
var lati=$('#ContentPlaceHolder1_hidlat').val();
var mapCenter=new google.maps.LatLng(lati,long);
var映射;
map_initialize();
函数映射_初始化(){
谷歌地图选项=
{
中心:地图中心,
缩放:18,
泛控制:对,
动物控制:对,
ZoomControl选项:{
样式:google.maps.ZoomControlStyle.SMALL
},
scaleControl:对,
mapTypeId:google.maps.mapTypeId.ROADMAP
};
var marker=new google.maps.marker({
位置:地图中心,
标题:“事件地图”
});
map=new google.maps.map(document.getElementById(“google_-map”),googleMapOptions);
marker.setMap(map);
}
var getCen=map.getCenter();
google.maps.event.addDomListener(窗口“调整大小”,函数(){
地图设置中心(getCen);
});
google.maps.event.addDomListener(窗口'load',map_initialize());
google.maps.event.addDomListener(窗口“resize”,resizingMap());
$('#showmap')。on('show.bs.modal',function(){
resizeMap();
})
函数resizeMap(){
if(typeof map==“undefined”)返回;
setTimeout(函数(){resizingMap();},400);
}
函数resizingMap(){
if(typeof map==“undefined”)返回;
var center=map.getCenter();
google.maps.event.trigger(map,“resize”);
地图设置中心(中心);
}
});

也许您可以在这里使用.filter()。