javascript – Google Maps API – Marker ToolTip
作者:互联网
我现在有一个问题,我的谷歌地图标记标题没有显示.这是我的第一张地图,我不太清楚我做错了什么.
一切正常,标记显示,除非您单击/悬停在标记上,工具提示或标题不显示,应该何时显示.
任何帮助都很棒!
<script src="https://maps.googleapis.com/maps/api/js?sensor=false"></script>
<script>
function initialize() {
// set mapOptions
var mapOptions = {
center: new google.maps.LatLng(40, -20),
zoom: 3,
mapTypeId: google.maps.MapTypeId.ROADMAP,
styles: [{"featureType":"landscape","stylers":[{"saturation":-100},{"lightness":65},{"visibility":"on"}]},{"featureType":"poi","stylers":[{"saturation":-100},{"lightness":51},{"visibility":"simplified"}]},{"featureType":"road.highway","stylers":[{"saturation":-100},{"visibility":"simplified"}]},{"featureType":"road.arterial","stylers":[{"saturation":-100},{"lightness":30},{"visibility":"on"}]},{"featureType":"road.local","stylers":[{"saturation":-100},{"lightness":40},{"visibility":"on"}]},{"featureType":"transit","stylers":[{"saturation":-100},{"visibility":"simplified"}]},{"featureType":"administrative.province","stylers":[{"visibility":"off"}]},{"featureType":"water","elementType":"labels","stylers":[{"visibility":"on"},{"lightness":-25},{"saturation":-100}]},{"featureType":"water","elementType":"geometry","stylers":[{"hue":"#ffff00"},{"lightness":-25},{"saturation":-97}]}]
};
// set min and max zoom
var map = new google.maps.Map(document.getElementById("map_canvas"),
mapOptions);
var opt = { minZoom: 3, maxZoom: 21 };
map.setOptions(opt);
// bounds of the desired area
var allowedBounds = new google.maps.LatLngBounds(
new google.maps.LatLng(-79.00, -180.00),
new google.maps.LatLng(79.00, 180.00)
);
var boundLimits = {
maxLat : allowedBounds.getNorthEast().lat(),
maxLng : allowedBounds.getNorthEast().lng(),
minLat : allowedBounds.getSouthWest().lat(),
minLng : allowedBounds.getSouthWest().lng()
};
var lastValidCenter = map.getCenter();
var newLat, newLng;
google.maps.event.addListener(map, 'center_changed', function() {
center = map.getCenter();
if (allowedBounds.contains(center)) {
// still within valid bounds, so save the last valid position
lastValidCenter = map.getCenter();
return;
}
newLat = lastValidCenter.lat();
newLng = lastValidCenter.lng();
if(center.lng() > boundLimits.minLng && center.lng() < boundLimits.maxLng){
newLng = center.lng();
}
if(center.lat() > boundLimits.minLat && center.lat() < boundLimits.maxLat){
newLat = center.lat();
}
map.panTo(new google.maps.LatLng(newLat, newLng));
});
// set markers
var point = new google.maps.LatLng(40, -20);
var marker = new google.maps.Marker({
position: point,
title:"Hello World!"
});
// To add the marker to the map, call setMap();
marker.setMap(map);
}
google.maps.event.addDomListener(window, 'load', initialize);
</script>
解决方法:
Woops,我可能应该在发布之前做一些研究,但我想我也可以发布我自己的解决方案.
我没有使用标题,而是使用了Google Maps InfoWindow:
希望这会帮助别人!
var point = new google.maps.LatLng(40, -20);
var data = "Hello World!";
var infowindow = new google.maps.InfoWindow({
content: data
});
var marker = new google.maps.Marker({
position: point,
title:"Hello World!"
});
google.maps.event.addListener(marker, 'click', function() {
infowindow.open(map,marker);
});
标签:javascript,google-maps,google-maps-api-3,google-maps-markers 来源: https://codeday.me/bug/20191005/1856974.html