我很难创建一个在谷歌 Map 上创建标记的功能 . 以下是我当前的javascript代码 .
如您所见,我使用“new google.maps.Map(document.getElementById('map')”创建了一个 Map .
然后我创建了一个“createMarker”函数,并试图通过传递“lat,lng,draggable”参数来使用该函数创建一个新标记 .
但是,当我运行它时,我不断得到“map.createMarker不是函数” .
有人可以帮我这个吗?
function initMap() {
// var fullstack = {lat: 40.705523, lng: -74.009149};
var map = new google.maps.Map(document.getElementById('map'), {
zoom: 18,
maxZoom: 19,
minZoom: 16 ,
center: {lat: 40.705523, lng: -74.009149},
disableDefaultUI: false
});
var marker = map.createMarker(40.705523, -74.009149, true);
var createMarker = function(lat, lng, draggable) {
return new google.maps.Marker({
position: {
lat: lat,
lng: lng
},
map: map,
draggable: draggable
})
}
}
2 回答
您的createMarker函数未与 Map 关联 . 将
map.createMarker(...)
更改为createMarker(...)
当您将函数声明为变量时,顺序很重要 . 您需要在使用之前声明该函数 .
Working code snippet:
createMarker不是一个函数,映射到map对象,尝试调用createMarker,就像我在这里做的那样 .