![](/img/trans.png)
[英]Google Maps API 3 - Javascript: Markers don't appear if created in function
[英]Map Markers do not appear (Javascript Google Maps API)
我正在嘗試在地圖上實現標記。 我可以確認地圖在右側中心正確縮放並縮放,但是標記未顯示。
function initMap() {
var latLng = new google.maps.LatLng({{latLng.latitude}}, {{latLng.longitude}})
var mapOptions = {
center: latLng,
zoom: 14,
mapTypeId: google.maps.MapTypeId.SATELLITE
};
var map = new google.maps.Map(document.getElementById("map"), mapOptions);
var marker = new google.maps.Marker({
position: latLng,
visible: true,
map: map
});
}
我也嘗試過使用marker.setMap(map)直接添加標記的實現:
function initMap() {
var myLatlng = new google.maps.LatLng({{latLng.latitude}}, {{latLng.longitude}});
var mapOptions = {
zoom: 14,
center: myLatlng
mapTypeId: google.maps.MapTypeId.SATELLITE
}
var map = new google.maps.Map(document.getElementById("map"), mapOptions);
var marker = new google.maps.Marker({
position: myLatlng,
});
// To add the marker to the map, call setMap();
marker.setMap(map);
}
都不渲染標記。 我注意到,即使將緯度和經度的車把值替換為用於測試的數字坐標,標記也仍然不會出現。 任何幫助表示贊賞!
我正在Chrome瀏覽器中進行測試。
您需要使用此語法window.onload = function initMap()
,並且沒有將標記分配給地圖marker.setMap(map);
,以這種方式嘗試:
window.onload = function initMap() {
//I just put some custom LatLng to make it work
var LatLng = new google.maps.LatLng(41.9026329,12.452200400000038);
var mapOptions = {
center: LatLng,
zoom: 14,
mapTypeId: google.maps.MapTypeId.SATELLITE
};
var map = new google.maps.Map(document.getElementById("map"), mapOptions);
var marker = new google.maps.Marker({
position: LatLng,
map: map
});
marker.setMap(map);
};
如果仍有問題,請告訴我。
希望對您有所幫助。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.