Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/392.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
Javascript 带有本地url的谷歌地图标记图像赢得';t在Safari mobile iOS 6中显示_Javascript_Html_Google Maps_Google Maps Api 3_Mobile Safari - Fatal编程技术网

Javascript 带有本地url的谷歌地图标记图像赢得';t在Safari mobile iOS 6中显示

Javascript 带有本地url的谷歌地图标记图像赢得';t在Safari mobile iOS 6中显示,javascript,html,google-maps,google-maps-api-3,mobile-safari,Javascript,Html,Google Maps,Google Maps Api 3,Mobile Safari,我有一个谷歌地图嵌入在我的网页,我想创建一个标记使用自定义图像。下面是添加标记的代码。”map'是一个表示Google map对象的变量 function addMarker(location) { var image = new google.maps.MarkerImage("tree.gif", null, null, null, new google.maps.Size(16, 24)); marker = new google.maps.Marker({

我有一个谷歌地图嵌入在我的网页,我想创建一个标记使用自定义图像。下面是添加标记的代码。”map'是一个表示Google map对象的变量

function addMarker(location) {
    var image = new google.maps.MarkerImage("tree.gif", null, null, null, new google.maps.Size(16, 24));
    marker = new google.maps.Marker({
        position: location,
        map: map,
        icon: image
    });
};
这在IE 8、Chrome 25、Firefox 19和Safari 5(桌面)中运行良好-创建标记并显示tree.gif图像。但是,这在iOS 6(iPad和iPhone)上的Safari mobile中不起作用

在以下情况下,这在Safari mobile上有效:

  • …我删除了自定义图标-默认的谷歌地图标记图标(红色图钉)出现

  • …我使用远程url访问其他图像文件(例如/)

  • 我在所有的软件和谷歌团队中都没有运气。有什么想法吗

    2013年3月12日增补:处于活动状态并显示此行为(最后检查)。从“标记”页面开始,在您的GPS位置张贴标记,然后检查“地图”页面,查看标记是否显示。源代码已打开-问题在scripts/map.js文件中

    增加了2013年3月15日:缩小了范围。我的页面还使用HTML5服务器发送的事件。上述行为仅在EventSource连接打开时发生。但是,如果我注释掉这一行,标记将按预期显示(链接到上一段中的代码):


    这不是解决办法,但我明白了为什么会发生这种情况。如中所述,除其他地方外,iOS 6中的Safari似乎只允许每个主机一次只有一个http连接

    正如上面的代码所示,只要我创建了一个新的EventSource,Safari就会只打开该新连接(到“/pickups”)并忽略原始连接(到“/map”)。在该点之后,将不会获取原始连接上的任何其他资源,包括my tree GIF。这就解释了为什么默认的谷歌地图标记(从Google.com获取)和来自其他主机的图像可以正常工作

    在找到更好的解决方案之前,我将对Safariios6客户端使用轮询,而不是EventSource

    var source = new EventSource('../pickups');