javascript - 将 https 添加到站点后,我的网页谷歌地图显示空白
问题描述
将 https 添加到站点后,我的网页谷歌地图显示为空白控制台中没有显示错误。我更改了与 https 相关的所有内容。在谷歌云控制台的 api key credential 部分中包含 https url。将 api url 更改为 https
仍然没有地图显示。
jQuery(function($) {
// Asynchronously Load the map API
var script = document.createElement('script');
script.src = "https://maps.googleapis.com/maps/api/js?callback=initialize&key=MY_API_KEY";
document.body.appendChild(script);
});
function attachClickHandler(marker){
google.maps.event.addListener(marker, 'click', function() {
var elem = $(marker.url);
console.log(marker.title);
$('html, body').animate({
scrollTop: elem.offset().top - 200
}, 1000 );
});
}
function initialize() {
var map;
var bounds = new google.maps.LatLngBounds();
var mapOptions = {
mapTypeId: 'roadmap'
};
map = new google.maps.Map(document.getElementById("map_canvas"), mapOptions);
var markers = new Array();
<?php $i= 1; foreach($locations as $l): ?>
var marker = ['<?php echo $i; ?>', <?php echo $l->latitude; ?>, <?php echo $l->longitude; ?>, '#<?php echo $i; ?>'];
markers.push(marker);
<?php $i++; endforeach; ?>
var bounds = new google.maps.LatLngBounds();
var infowindow = new google.maps.InfoWindow();
for( i = 0; i < markers.length; i++ ) {
var position = new google.maps.LatLng(markers[i][1], markers[i][2]);
marker = new google.maps.Marker({
position: position,
map: map,
title: markers[i][0],
url: markers[i][3],
label: {color: '#fff', fontSize: '16px', fontWeight: '600', text: markers[i][0]}
});
bounds.extend(position);
attachClickHandler(marker);
}
map.fitBounds(bounds);
// Override our map zoom level once our fitBounds function runs (Make sure it only runs once)
var boundsListener = google.maps.event.addListener((map), 'bounds_changed', function(event) {
this.setZoom(8);
google.maps.event.removeListener(boundsListener);
});
}
解决方案
要排除与 API 密钥限制相关的问题,请尝试在 Google 的 Cloud Console 中取消对 API 密钥的限制。如果您的地图在使用不受限制的 API 密钥时成功加载,则意味着您需要为您的域添加正确的HTTP 引荐来源网址。例如:
https://*.example.com/*
https://example.com/*
如果您设置了API 限制,请确保您允许 JavaScript API 。
如果地图仍然无法使用不受限制的密钥加载,则说明其他问题,例如您的结算帐户有问题,您向网站添加了错误的 API 密钥,您的项目中禁用了 JavaScript API...
如果在仔细检查所有这些后问题仍然存在,您可能需要联系 Google 的技术支持团队。
希望这可以帮助!
推荐阅读
- python - 如何禁用警告“tensorflow:方法(on_train_batch_end)与批量更新()相比很慢。检查你的回调”
- vb.net - 在 vb.NET 中的一行代码中打断注释
- python-3.x - 如何在双 x 轴和 y 轴上格式化小刻度,这两个轴都是对数缩放的?
- php - 如何根据id获取国家名称?
- authentication - 我们可以将 ADFS 配置为 Azure 的令牌端点吗
- php - 如何通过电子邮件 Laravel PHP 从表中发送 JSON 数据(已经成功发送输入字段)
- swagger - 如何将 OpenAPI 2.0 转换为 OpenAPI 3.0?
- c# - 如何使用 Fluent Assertions 引发异常?
- javascript - AND 多个参数
- kubernetes - 从服务内启动 Kubernetes 作业