[英]Google Maps API on Squarespace
我正在使用Squarespace构建我的网站,并希望从Google Maps JavaScript API中插入自定义地图。 我已经有了google api密钥。
我已按照以下步骤操作:
我要存档的只是在网络上显示Google地图。
第1步 :为HTML插入嵌入块
<div id="map_canvas"></div>
第2步 :在页面标题中插入JavaScript
<script type="text/javascript"
src="http://maps.googleapis.com/maps/api/js?key=my-key&sensor=false">
</script>
<script type="text/javascript">
function initialize() {
var latlng = new google.maps.LatLng(-34.397, 150.644);
var myOptions = {
zoom: 10,
center: latlng,
mapTypeId: google.maps.MapTypeId.ROADMAP
};
var map = new google.maps.Map(document.getElementById('map_canvas'), myOptions);
}
google.maps.event.addDomListener(window, 'load', initialize);
</script>
步骤3 :在自定义CSS部分
#map_canvas
{
width: 100%;
height: 100%;
margin: 0px;
padding: 0px
}
但是我放在Squarespace上的代码不起作用。 我应该怎么做? 这是我在SquareSpace上的网页链接
谢谢!!
大声笑,你把剧本放在我认为非常错误的地方。
1号 将您的脚本全部放在</body>
2号 您需要将地图<div>
的封面(如包装纸)放在中间。 并使用Cover / wrapper div可以控制尺寸和形状。
第三名 我不知道id="maps_canvas"
。 因为从Google我得到了这个<div id='gmap_canvas' style='height:100%;width:100%; position:static'>
<div id='gmap_canvas' style='height:100%;width:100%; position:static'>
,它是gmap_canvas。 并在其中放置样式,以使其适合您的封面/包装div。
更简单的方法: http : //embedgooglemaps.com/en/也许会有所帮助。 :)
这是我在代码中所做的更改,如下所示:
步骤1 :为html插入代码块<-不是嵌入块,而是代码块。 我以前打错了字。
<div id="mapWrapper">
<div id='gmap_canvas' style='height:100%;width:100%; position:static'>
</div>
</div>
第2步 :在页面标题中插入javascript。
我只将ID名称从“ map_canvas ”更改为“ gmap_canvas ”
<script type="text/javascript"
src="http://maps.googleapis.com/maps/api/js?key=my-key&sensor=false">
</script>
<script type="text/javascript">
function initialize() {
var latlng = new google.maps.LatLng(-34.397, 150.644);
var myOptions = {
zoom: 10,
center: latlng,
mapTypeId: google.maps.MapTypeId.ROADMAP
};
var map = new google.maps.Map(document.getElementById('gmap_canvas'), myOptions);
}
google.maps.event.addDomListener(window, 'load', initialize);
</script>
步骤3 :在自定义CSS部分中。
将ID名称从“ map_canvas ”更改为“ mapWrapper ”,然后设置其他大小。
#mapWrapper
{
width: 750px;
height: 500px;
margin: 0px;
padding: 0px
}
我尝试将人们建议的所有内容都放入,但该地图仍未显示在我的网站上。 有什么问题吗?
我对我的网站也做了同样的事情。
我做的不同的是没有将我的#map-canvas放在包装器中。 在预览您的网站时,您是否可以通过inspect视图找到gmap_canvas? 内容可能在那里,只是显示不正确。
我的代码:
以下是页面标题代码注入框中。 请注意,这段代码中的很大一部分(由于我不了解JS,所以我不记得是哪个部分)只是为了将引脚固定在不同的屏幕尺寸上。
<style type="text/css">
html, body, #map-canvas {
height: 400px;
width 960px;
margin: 0;
padding: 0;}
#banner-area-wrapper {
display: none;
}
</style>
<script type="text/javascript"
src="https://maps.googleapis.com/maps/api/js?key=my_key&callback=initMap">
</script>
<script type="text/javascript">
function detectBrowser() {
var useragent = navigator.userAgent;
var mapdiv = document.getElementById("map-canvas");
if (useragent.indexOf('iPhone') != -1 || useragent.indexOf('Android') != -1 ) {
mapdiv.style.width = '100%';
mapdiv.style.height = '100%';
} else {
mapdiv.style.width = '600px';
mapdiv.style.height = '800px';
}
}
function initialize() {
var myLatLng = {lat: 39.910073, lng: -82.965509};
var mapOptions = {
center: myLatLng,
zoom: 14,
panControl: false,
mapTypeControl: false,
zoomControl: true,
zoomControlOptions: {
style: google.maps.ZoomControlStyle.DEFAULT,
position: google.maps.ControlPosition.LEFT_CENTER},
streetViewControl: false
};
var map = new google.maps.Map(document.getElementById('map-canvas'),
mapOptions);
map = new google.maps.Map(document.getElementById('map-canvas'),
mapOptions);
var marker = new google.maps.Marker({
position: myLatLng,
map: map,
title: 'Opportunity Center'
});
google.maps.event.addDomListener(window, "resize", function() {
var center = map.getCenter();
google.maps.event.trigger(map, "resize");
map.setCenter(center);
});
}
在页面上,我有一个代码块,其中包含以下内容:
<div id="map-canvas" style="width:90%;margin:auto;"></div>
请注意,我没有将#map-canvas放入包装器中,也没有在自定义CSS中添加任何内容。
我做了一个快速的虚拟站点,并复制了您无法显示地图的内容,但是我对Squarespace的了解还不够,无法确切地说出原因。 我将从复制代码开始,看看它是否对您有用-似乎最大的区别是您在画布上的包装。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.