- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
当我跨浏览器测试我的站点并在 Safari 中尝试时,我的仪表板中的这个错误不知从何而来。它适用于 Chrome、Firefox 和 IE9,但适用于 Safari:
这是错误,我不知道这是哪里发生的
InvalidValueError: setMap: not an instance of Map, and not an instance of StreetViewPanorama main:25
这是初始化函数:
var map;
function initialize() {
geocoder = new google.maps.Geocoder();
geocode = new google.maps.Geocoder();
LatLang = new google.maps.LatLng(38.50, -90.50);
var addresse = {
zoom: 4,
center: LatLang,
mapTypeId: google.maps.MapTypeId.ROADMAP
};
map = new google.maps.Map(document.getElementById('map'), addresse);
// Bounds for North America
var strictBounds = new google.maps.LatLngBounds(
new google.maps.LatLng(15.70, -160.50),
new google.maps.LatLng(68.85, -55.90));
// Listen for the dragend event
google.maps.event.addListener(map, 'dragend', function () {
if (strictBounds.contains(map.getCenter())) return;
// We're out of bounds - Move the map back within the bounds
var c = map.getCenter(),
x = c.lng(),
y = c.lat(),
maxX = strictBounds.getNorthEast().lng(),
maxY = strictBounds.getNorthEast().lat(),
minX = strictBounds.getSouthWest().lng(),
minY = strictBounds.getSouthWest().lat();
if (x < minX) x = minX;
if (x > maxX) x = maxX;
if (y < minY) y = minY;
if (y > maxY) y = maxY;
map.setCenter(new google.maps.LatLng(y, x));
});
// Limit the zoom level
google.maps.event.addListener(map, 'zoom_changed', function () {
if (map.getZoom() < minZoomLevel) map.setZoom(minZoomLevel);
});
}
最佳答案
你需要了解一些 safaris 和 javascripts quark 来解决这个问题。
var t = 5;
var t
console.log(t) //undefined in chrome, firefox, etc. But 5 in safari.
您还应该知道,在新的 html5 规范中,如果您有类似 <div id="map"></div>
的内容, 这会创建一个全局变量 map
或 window.map
在你的代码中我看到你有 map
定义为全局变量(可能用于调试)。
如果此脚本在 <body>...</body>
之后运行呈现其中包含您的 <div id="map"></div>
, window.map
or(global map
) 初始化为 "<div id="map"></div>"
,当你再次声明 var map
, map
变成 <div id="map"></div>
在 Safari 和undefined
在其他浏览器中。
这是错误的原因。要解决此问题,请将 id 更改为 map
以外的其他内容,或者做 var map = "";
当您将其声明为全局变量时。或者,在正文之前运行脚本。
关于javascript - InvalidValueError : setMap: not an instance of Map, 而不是 StreetViewPanorama 的实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23905673/
感觉理解了很多,但又卡在了新项目上.. 我正在尝试从使用 Google Map API 创建的 map 中删除标记。 我在信息窗口中有一个删除标记按钮。 下面是我的代码: function Delet
我正在为 Google map 编写自定义叠加层。我有很多经纬度点,我想要带有指向和来自它们的箭头的图像。我正在关注 Google 的自定义叠加层教程 (https://developers.goog
我想从谷歌地图中删除所有旧标记并添加新标记,但 setMap(null) 不起作用,它会添加新标记而不删除旧标记。请查看我的代码 var markers = data[
我正在处理我的谷歌地图页面在 Firebug 中显示错误的问题。当我在经销商 map 中搜索时,将触发 clearLocations() 函数。但出现此错误:“markers[i].setMap
所以我在这里遇到了一些问题。此脚本在除 IE8 之外的所有浏览器中都可以正常工作 route() 函数被调用 - 并被赋予 Google map 编码的多边形和折线。每次 IE8 尝试执行 setMa
我看到这里的人可能会解释这个功能: // REMOVE All MARKERS FUNCTION // Removes all markers currently on map //
我的 bing map 无法加载信息框。我有一个数组,可以为渲染的位置创建图钉,下面是我使用的代码。我已经添加了用于显示的控制台消息,以检查它是否被正确调用。我想知道偏移/ anchor 是否与不显示
当我使用 sencha touch2.2.1 时,我遇到了一个问题。 在查看器中: items: [{ id: 'mapCanvas', xtype:'map', useCur
我有 OpanLayers 2.10,当我尝试将 OpenLayers.Control.Measure 添加到 map 控件时,出现此错误: TypeError: Object # has no me
我正在尝试从 Google map 中清除之前的路线。但是,当您进行另一次搜索时,上一次搜索的多段线和标记仍然会显示。我试过使用 directionsRenderer.setMap(null),但没有
我正在寻找 Set Java 中的实现,它提供基于元素属性的查找。用 Guava 的术语来思考它可以使用 Function 来构建。 (预计在所有集合元素中都是唯一的)并提供一种方法 find(Sea
当 ZoomIn/ZoomOut 事件触发时,我尝试删除所有圆圈和标记。我像这样插入了 For 循环中的每个标记和圆圈 gmarkers.push(new google.maps.Circle(cir
我是 Google map 新手。我将 Google Maps v3 map 添加到 ASP.NET 4.0 项目的 aspx 文件中,并尝试为 map 上的四个 KML 图层添加切换复选框。 但是,
我正在研究 RestKit 关系映射示例,但无法理解这些方法调用的目的是什么,或者调用中是否存在拼写错误。他们指的是什么?对象加载器何时会在这些关键路径处遇到内容? [objectManager.ma
marker.setMap(null) 调用不会从 map 中删除标记。 我已经确认 map 和标记变量指向正确的位置,但 setMap(null) 调用只是使标记在 map 上可见。 setVisi
当我跨浏览器测试我的站点并在 Safari 中尝试时,我的仪表板中的这个错误不知从何而来。它适用于 Chrome、Firefox 和 IE9,但适用于 Safari: 这是错误,我不知道这是哪里发生的
我是 Google map API v3 的新手。在谷歌地图官方教程中,部分示例代码使用 new google.maps.Marker({ map: map //Map option });
我在谷歌地图上使用了淘汰赛 javascrit,但我无法清除 map 上的标记,我在那里收到错误消息,错误如下 > Ripple :: Environment Warming Up (Tea. Ear
当我尝试在 map 中输入谷歌的系统位置时,它不起作用。屏幕保持空白。当我提出字符串“directionsDisplay.setMap (map);”时, map 会显示但不起作用。为什么 ?我将发布
我试图有一个按钮可以打开和关闭多个圆圈(显示/隐藏可见性)。假设我只有一个 html 按钮,并且我已经向该按钮添加了 google.maps.event.addDomListener,我见过的很多示例
我是一名优秀的程序员,十分优秀!