Javascript 通过它更新Google地图标记位置';身份证
我正在创建Google地图标记并为其分配一个ID,如下所示: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抓取标记,然后更新其
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()。