我最近在网站中实现了谷歌地图集成。
在开发服务器中一切正常,但在生产服务器中地图不渲染。我试图创建一个 api 密钥,允许两个域在同一个密钥中,并且没有任何改变。开发工作,产品不工作。
在萤火虫中,我看不到任何 js 错误,只有 api_viewport 调用中的一些 NAN 值。
请参阅下面的调用和 js 代码。有任何想法吗?谢谢。
开发服务器调用:
PROD 服务器调用:
$.fn.initPetrolMap = function(){
$this = $(this);
var s = document.createElement('script');
s.type = "text/javascript";
s.src = "https://maps.googleapis.com/maps/api/js?key=MYKEY&sensor=true&callback=loadPetrolMap";
window.loadPetrolMap = function(){
// console.log($this.data('map'));
var lt = $this.data('map').lat;
var ln = $this.data('map').lng;
var mapOptions = {
zoom: 15,
center: new google.maps.LatLng(lt,ln),
mapTypeControl: true,
navigationControl: true,
navigationControlOptions: {
style: google.maps.NavigationControlStyle.SMALL
},
mapTypeId: google.maps.MapTypeId.ROADMAP
}
var map = new google.maps.Map(document.getElementById($this.prop('id')),
mapOptions);
var image = $this.data('map').marker;
var myLatLng = new google.maps.LatLng(lt, ln);
var stationMarker = new google.maps.Marker({
position: myLatLng,
map: map,
icon: image
});
google.maps.event.addListener(stationMarker, 'click', function() {
var url = 'https://maps.google.com/maps?daddr='+lt+','+ln+'&hl=en&sll='+lt+','+ln+'&t=m&mra=mift&mrsp=2&sz=5&z=15';
window.open(url);
});
};
$("head").append(s);
};