我正在编写以下脚本以在点击时添加标记,地图加载正常但是当我点击它时没有添加任何标记并且控制台中没有错误,任何人都有任何关于可能的建议继续?
function selectMapLocation()
{
var mapOptions = {
zoom: 8,
center: new google.maps.LatLng(37.7699298, -122.4469157)
};
var map = new google.maps.Map(document.getElementById('map'), mapOptions);
google.maps.event.addListener(map, 'click', function(event){
var marker = new google.maps.Marker({
position: event.LatLng,
map: map
});
});
}
function loadSelectMapLocation()
{
var script = document.createElement('script');
script.type = 'text/javascript';
script.src = 'https://maps.googleapis.com/maps/api/js?v=3.exp&callback=selectMapLocation';
document.body.appendChild(script);
}
答案 0 :(得分:1)
google.maps.MarkerOptions object没有setMap属性。
地图|地图| StreetViewPanorama |要显示标记的地图。
MouseClick event没有LatLng属性。它是latLng(javascript区分大小写)。
latLng | LatLng |事件发生时光标下方的纬度/经度。
function selectMapLocation()
{
var mapOptions = {
zoom: 8,
center: new google.maps.LatLng(37.7699298, -122.4469157)
};
var map = new google.maps.Map(document.getElementById('map'), mapOptions);
google.maps.event.addListener(map, 'click', function(event){
var marker = new google.maps.Marker({
position: event.latLng,
map: map
});
});
}
function loadSelectMapLocation()
{
var script = document.createElement('script');
script.type = 'text/javascript';
script.src = 'https://maps.googleapis.com/maps/api/js?v=3.exp&callback=selectMapLocation';
document.body.appendChild(script);
}
loadSelectMapLocation();
<div id="map" style="width:750px; height:450px; border: 2px solid #3872ac;"></div>
答案 1 :(得分:0)
您应该在对象构造上使用map
属性而不是setMap
。
编辑:LatLng
也是latLng
,如另一个回复中所述。
var marker = new google.maps.Marker({
position: event.latLng,
map: map
});