Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/wix/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Google maps Google Maps API未将标记居中_Google Maps - Fatal编程技术网

Google maps Google Maps API未将标记居中

Google maps Google Maps API未将标记居中,google-maps,Google Maps,我在一个网站上有谷歌地图,它根据地址设置标记 以下是一个示例(单击“位置”选项卡): 如你所见,地图上没有标记。但如果你向上滚动,标记就在视线之外 我的代码有问题吗?奇怪的是,很少有地址能正确显示,但大多数地址不能。我的代码有问题吗?还是谷歌的 以下是我的JavaScript代码: <script type="text/javascript"> $(document).ready(function(){ load('Zoning In Personal Training',

我在一个网站上有谷歌地图,它根据地址设置标记

以下是一个示例(单击“位置”选项卡):

如你所见,地图上没有标记。但如果你向上滚动,标记就在视线之外

我的代码有问题吗?奇怪的是,很少有地址能正确显示,但大多数地址不能。我的代码有问题吗?还是谷歌的

以下是我的JavaScript代码:

<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>