gpt4 book ai didi

javascript - 来自 JSON 数据的 Google map 标记未呈现标记

转载 作者:行者123 更新时间:2023-11-28 14:47:39 25 4
gpt4 key购买 nike

所以我使用 .json 文件为我的谷歌地图脚本提供标记信息。由于某种原因,它不会渲染 map 标记。

map 将呈现,我可以按照 google 的记录放置一个标记,但是当我尝试转换 JSON 数据以呈现标记时,它什么也不做。也没有控制台错误。

您会注意到控制台日志,因为我一直在尝试解决这个问题,最终得到:

[0]事件位置:[object对象]

我是否没有为此正确创建对象?

jQuery(document).ready(function ($) {
$.getJSON('../wp-content/plugins/loopden/json/map.json', function (eventsData) {
// Grabbing our JSON file to mark the map.

Object.size = function(obj) {
var size = 0, key;
for (key in obj) {
if (obj.hasOwnProperty(key)) size++;
}
return size;
};

// Get the size of an object
var eventsSize = Object.size(eventsData);
console.log(eventsSize);
console.log(eventsData[0].lat);
for (var i = 0, l=eventsSize; i <l; i++){
var lat = eventsData[i].lat;
var lng = eventsData[i].lng;

var latlng = {"lat":parseInt(lat) , "lng":parseInt(lng)};
console.log('['+i+'] Event Location: '+latlng);

var marker = new google.maps.Marker({
position: latlng,
map: map,
title: eventsData[i].title
});
}
});
});

这是我正在使用的 JSON 数据:

{
"0": {
"lat": "-93.2745179",
"lng": "44.9817854",
"title": "Super Cool Event",
"date": "2017-08-25",
"time": "8:00pm - 10:00am",
"cost": "$15",
"bio": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec consectetur, leo ac gravida vestibulum, nisi metus posuere nibh, malesuada faucibus erat eros nec metus. Morbi tincidunt iaculis eros quis fringilla.",
"featured": "off"
}
}

最佳答案

部分问题在于您使用 parseInt 来解析 float ,因此小数点后的所有内容都会被 chop 。

另一个问题是您在 JSON 数据中使用的经纬度无效 - from here :

The valid range of latitude in degrees is -90 and +90 for the southern and northern hemisphere respectively. Longitude is in the range -180 and +180 specifying coordinates west and east of the Prime Meridian, respectively.

因此,纬度 -93 没有任何意义。

关于javascript - 来自 JSON 数据的 Google map 标记未呈现标记,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45847602/

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