gpt4 book ai didi

javascript - 具有 Leaflet map 的无效 LatLng 对象

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:25:53 26 4
gpt4 key购买 nike

在 Angular 和 Rails 应用程序中使用 Leaflet.js 和 Cloudmade 时,我完全无法解决奇怪的 map 错误。这些 map 几乎适用于所有 map ,但我得到的一些临时 map (适用于开发)除外: Uncaught Error :无效的 LatLng 对象,它说未定义。我从 JSON 获取纬度和经度,并且我已经验证了 JSON 中存在纬度和经度,并且相同的纬度/经度适用于类似的 map 。在 Leaflet 源代码中,它说当纬度/经度不是数字时会给出错误,但我很困惑纬度/经度在我的 json 中时如何不是数字。这是我在 Chrome 中获得的堆栈跟踪:

Uncaught Error: Invalid LatLng object: (undefined, undefined)
n.LatLng
n.latLng
n.Map.n.Class.extend.project
n.Map.n.Class.extend._getNewTopLeftPoint
n.Map.n.Class.extend._resetView
n.Map.include.setView
(anonymous function)
jQuery.event.dispatch
elemData.handle.eventHandle
jQuery.event.trigger
(anonymous function)
jQuery.extend.each
jQuery.fn.jQuery.each
jQuery.fn.extend.trigger
(anonymous function)
next
Tab.activate
Tab.show
(anonymous function)
jQuery.extend.each
jQuery.fn.jQuery.each
$.fn.tab
(anonymous function)
jQuery.event.dispatch
elemData.handle.eventHandle

这里有一些代码:

var map = L.map('map').setView([$scope.lat, $scope.long], 11);
L.tileLayer('http://{s}.tile.cloudmade.com/API-key/997/256/{z}/{x}/{y}.png', {
attribution: 'Map data &copy; <a href="http://openstreetmap.org">OpenStreetMap</a> contributors, <a href="http://creativecommons.org/licenses/by-sa/2.0/">CC-BY-SA</a>, Imagery © <a href="http://cloudmade.com">CloudMade</a>',
maxZoom: 18
}).addTo(map);

当然,该链接已替换为我的 API key 。我正在使用最新的稳定版 Leaflet,其中包含 this code fix那是我能找到的最好的谷歌搜索结果。我的 map 位于 Bootstrap 使用的选项卡内容中。这里会有什么问题?或者我该怎么做才能调试它?非常感谢任何帮助,如果需要,我很乐意提供更多详细信息。

最佳答案

不确定您是否能正常工作,但我遇到了类似的问题,即 lat/lng 是诸如“53.12345”、“-1.6789”之类的字符串。如果是这种情况,要么更改字符串中返回的数据,要么将返回的字符串解析为float,如:

var marker = {
lat: parseFloat(hotelLat),
lng: parseFloat(hotelLng),
...
}

关于javascript - 具有 Leaflet map 的无效 LatLng 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17159139/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com