如何使用JavaScript在Google Maps API中仅获取一个标记
我的代码:如何使用JavaScript在Google Maps API中仅获取一个标记,javascript,google-maps,google-maps-api-3,Javascript,Google Maps,Google Maps Api 3,我的代码: <script src="http://maps.googleapis.com/maps/api/js"> </script> <script> var map; var myCenter=new google.maps.LatLng(51.508742,-0.120850); function initialize() { var mapProp = { center:myCenter, zoom:5, map
<script
src="http://maps.googleapis.com/maps/api/js">
</script>
<script>
var map;
var myCenter=new google.maps.LatLng(51.508742,-0.120850);
function initialize()
{
var mapProp = {
center:myCenter,
zoom:5,
mapTypeId:google.maps.MapTypeId.ROADMAP
};
map = new google.maps.Map(document.getElementById("googleMap"),mapProp);
google.maps.event.addListener(map, 'click', function(event) {
placeMarker(event.latLng);
});
}
function placeMarker(location) {
var marker = new google.maps.Marker({
position: location,
map: map,
});
var infowindow = new google.maps.InfoWindow({
content: 'Latitude: ' + location.lat() + '<br>Longitude: ' + location.lng()
});
infowindow.open(map,marker);
}
google.maps.event.addDomListener(window, 'load', initialize);
</script>
</head>
<body>
<div id="googleMap" style="width:500px;height:380px;"></div>
var映射;
var myCenter=newgoogle.maps.LatLng(51.508742,-0.120850);
函数初始化()
{
var mapProp={
中心:迈森特,
缩放:5,
mapTypeId:google.maps.mapTypeId.ROADMAP
};
map=new google.maps.map(document.getElementById(“googleMap”),mapProp);
google.maps.event.addListener(映射,'click',函数(事件){
地点标记(事件标记);
});
}
功能位置标记(位置){
var marker=new google.maps.marker({
位置:位置,,
地图:地图,
});
var infowindow=new google.maps.infowindow({
内容:“纬度:”+location.lat()+”
经度:“+location.lng()
});
信息窗口。打开(地图、标记);
}
google.maps.event.addDomListener(窗口“加载”,初始化);
我每公里都有一个新的标记。如果再次单击另一个,如何删除它
顺便说一句:读一下:
希望使用它,但它不起作用(在控制台:CurrnPosithOffice()和WHOTEPOSIONTHORE()在不安全的来源上被弃用,并且支持将在将来被删除。您应该考虑将应用程序切换到安全的来源,如HTTPS。请参阅更多细节。)< P>而不是:
google.maps.event.addListener(map, 'click', function(event) {
placeMarker(event.latLng);
});
尝试使用以下方法:
google.maps.event.addListener(map, 'click', function(event) {
setMapOnAll(null);
placeMarker(event.latLng);
}
因此,您将在单击时删除所有当前标记,并在x、y位置添加新标记。如果您只需要一个标记,请仅创建一个,并根据需要移动它 代码片段:
var映射;
var myCenter=newgoogle.maps.LatLng(51.508742,-0.120850);
var标记;
var信息窗口;
函数初始化(){
var mapProp={
中心:迈森特,
缩放:5,
mapTypeId:google.maps.mapTypeId.ROADMAP
};
map=new google.maps.map(document.getElementById(“googleMap”),mapProp);
google.maps.event.addListener(映射,'click',函数(事件){
地点标记(事件标记);
});
}
功能位置标记(位置){
如果(!marker | |!marker.setPosition){
marker=新的google.maps.marker({
位置:位置,,
地图:地图,
});
}否则{
标记器。设置位置(位置);
}
如果(!!infowindow&&!!infowindow.close){
infowindow.close();
}
infowindow=新建google.maps.infowindow({
内容:“纬度:”+location.lat()+”
经度:“+location.lng()
});
信息窗口。打开(地图、标记);
}
google.maps.event.addDomListener(窗口“加载”,初始化)代码>
html,
身体,
#谷歌地图{
身高:100%;
宽度:100%;
边际:0px;
填充:0px
}
Thsi失败apears:newevent:227未捕获引用错误:未定义SetMapOnal是否可以尝试删除SetMapOnal并使用placeMarker(null)