Google maps Google Maps API未将标记居中
我在一个网站上有谷歌地图,它根据地址设置标记 以下是一个示例(单击“位置”选项卡): 如你所见,地图上没有标记。但如果你向上滚动,标记就在视线之外 我的代码有问题吗?奇怪的是,很少有地址能正确显示,但大多数地址不能。我的代码有问题吗?还是谷歌的 以下是我的JavaScript代码:Google maps Google Maps API未将标记居中,google-maps,Google Maps,我在一个网站上有谷歌地图,它根据地址设置标记 以下是一个示例(单击“位置”选项卡): 如你所见,地图上没有标记。但如果你向上滚动,标记就在视线之外 我的代码有问题吗?奇怪的是,很少有地址能正确显示,但大多数地址不能。我的代码有问题吗?还是谷歌的 以下是我的JavaScript代码: <script type="text/javascript"> $(document).ready(function(){ load('Zoning In Personal Training',
<script type="text/javascript">
$(document).ready(function(){
load('Zoning In Personal Training', '27 Sitella Drive, berwick, VIC, 3806');
});
</script>
$(文档).ready(函数(){
load(“个人培训分区”,“维多利亚州伯威克市斯泰拉大道27号,邮编3806”);
});
-
功能加载(标题、地址、类型){
if(GBrowserIsCompatible()){
var映射;
var地理编码器;
map_id=document.getElementById(“map”);
map=新的GMap2(map\U id);
addControl(新的gsmallmappcontrol());
地图设置中心(新格拉特林(24,0),17);
map.enableDoubleClickZoom();
如果(类型==“sat”){
地图。setMapType(G_卫星地图);
addControl(新的GHierarchicalMapTypeControl());
}否则{
setMapType(G_NORMAL_map);
}
geocoder=新的GClientGeocoder();
geocoder.getLocations(地址、函数(响应){
map.clearOverlays();
如果(!response | | response.Status.code!=200){
//map_id.innerHTML('在谷歌地图上找不到地址');
}否则{
地点=响应。地点标记[0];
点=新玻璃(地点点坐标[1],地点点坐标[0]);
地图设定中心(点17);
//创建我们的“微小”标记图标
var icon=new GIcon();
icon.image=”http://labs.google.com/ridefinder/images/mm_20_red.png";
icon.shadow=”http://labs.google.com/ridefinder/images/mm_20_shadow.png";
icon.iconSize=新的GSize(12,20);
icon.shadowSize=新的GSize(22,20);
icon.iconAnchor=新的GPoint(6,20);
icon.infoWindowAnchor=新的GPoint(5,1);
//在给定点创建一个微小的标记
函数createMarker(点、索引){
var标记=新的GMarker(点、图标);
var myMarkerContent=“”+标题+”
“+地址+”;
添加覆盖图(标记);
openInfoWindowHtml(myMarkerContent);
addListener(标记“单击”,函数(){
openInfoWindowHtml(myMarkerContent);
});
}
创建标记(点);
}
});
}
}
如果您在谷歌地图中加载页面,然后单击“链接”功能,它将为您提供代码,以将站点嵌入为iFrame,而不是与API混在一起-您可以试试这个吗
这也有一个缺陷,有时标记不居中,特别是在隐藏的div上。克服这一问题的最佳方法是将google地图的iFrame放在一个单独的文件(例如pages/map.html)中,然后将其作为页面中iFrame的源
例如-而不是iFrame src=“maps.google.com/etc”
将其命名为src=“pages/map.html”
不管怎么说,这篇文章已经发布6个月了,但迟发总比不发好 对于我来说,问题在于加载地图时iframe的大小为0(显示:隐藏)。在iframe加载之后,我添加了一个延迟来加载地图。这种竞争条件可以解释为什么某些地址呈现正确 也许可以试试这个:
<script type="text/javascript">
$(document).ready(function(){
setTimeout("delayedLoad()",100);
});
function delayedLoad() {
load('Zoning In Personal Training', '27 Sitella Drive, berwick, VIC, 3806');
}
</script>
$(文档).ready(函数(){
setTimeout(“delayedLoad()”,100);
});
函数delayedLoad(){
load(“个人培训分区”,“维多利亚州伯威克市斯泰拉大道27号,邮编3806”);
}
(感谢)我看到地图中央有一个标记。。。不是在屏幕外吗?
<script type="text/javascript">
$(document).ready(function(){
setTimeout("delayedLoad()",100);
});
function delayedLoad() {
load('Zoning In Personal Training', '27 Sitella Drive, berwick, VIC, 3806');
}
</script>