我的网站上有谷歌地图,上面放了一个标记。
如果我在本地运行我的项目,标记显示就好了,但是一旦我将我的网站现场直播,标记就不会显示,我不知道为什么(也不会在代码片段中显示)。< / p>
#map {
width: 100%;
height: 450px;
position: relative;
}
@media screen and (max-width: 768px) {
#map {
height: 200px;
}
}
<div id="map"></div>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://maps.googleapis.com/maps/api/js?key=AIzaSyCefOgb1ZWqYtj7raVSmN4PL2WkTrc-KyA&callback=myMap"></script>
<script>
var google;
function init() {
var myLatlng = new google.maps.LatLng(52.362487, 6.624294);
var mapOptions = {
// How zoomed in the map is
zoom: 15,
// The latitude and longitude to center the map
center: myLatlng
};
// Get the HTML DOM element that will contain your map
// We are using a div with id="map" seen below in the <body>
var mapElement = document.getElementById('map');
// Create the Google Map using out element and options defined above
var map = new google.maps.Map(mapElement, mapOptions);
var addresses = ['Dollepret'];
for (var x = 0; x < addresses.length; x++) {
$.getJSON('http://maps.googleapis.com/maps/api/geocode/json?address=' + addresses[x] + '&sensor=false', null, function(data) {
var p = data.results[0].geometry.location
var latlng = new google.maps.LatLng(p.lat, p.lng);
new google.maps.Marker({
position: latlng,
map: map,
label: {
fontWeight: 'bold',
fontSize: '14px',
text: 'Dolle Pret'
}
});
});
}
}
google.maps.event.addDomListener(window, 'load', init);
</script>
答案 0 :(得分:1)
我在您的代码段中收到此错误:
Mixed Content: The page at 'https://stackoverflow.com/questions/47577158/google-maps-marker-wont-show-jquery#' was loaded over HTTPS, but requested an insecure XMLHttpRequest endpoint 'http://maps.googleapis.com/maps/api/geocode/json?address=Dollepret&sensor=false'. This request has been blocked; the content must be served over HTTPS.
如果我将该网址更改为HTTPS,则该网址有效(显示标记)。
(请注意,不再需要sensor
参数)
代码段
html, body {
height: 100%;
width: 100%;
margin: 0;
padding: 0px;
}
#map {
width: 100%;
height: 100%;
position: relative;
}
/* @media screen and (max-width: 768px) {
#map {
height: 200px;
}
} */
&#13;
<div id="map"></div>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://maps.googleapis.com/maps/api/js?key=AIzaSyCefOgb1ZWqYtj7raVSmN4PL2WkTrc-KyA"></script>
<script>
var google;
function init() {
var myLatlng = new google.maps.LatLng(52.362487, 6.624294);
var mapOptions = {
// How zoomed in the map is
zoom: 15,
// The latitude and longitude to center the map
center: myLatlng
};
// Get the HTML DOM element that will contain your map
// We are using a div with id="map" seen below in the <body>
var mapElement = document.getElementById('map');
// Create the Google Map using out element and options defined above
var map = new google.maps.Map(mapElement, mapOptions);
var addresses = ['Dollepret'];
for (var x = 0; x < addresses.length; x++) {
$.getJSON('https://maps.googleapis.com/maps/api/geocode/json?address=' + addresses[x] + '&sensor=false', null, function(data) {
var p = data.results[0].geometry.location
var latlng = new google.maps.LatLng(p.lat, p.lng);
new google.maps.Marker({
position: latlng,
map: map,
label: {
fontWeight: 'bold',
fontSize: '14px',
text: 'Dolle Pret'
}
});
});
}
}
google.maps.event.addDomListener(window, 'load', init);
</script>
&#13;