Javascript 将JSON与Google Maps API结合使用
我对使用API还不熟悉,这正是我想要完成的,但我真的不知道如何去做。我有一个Javascript 将JSON与Google Maps API结合使用,javascript,json,api,google-maps,Javascript,Json,Api,Google Maps,我对使用API还不熟悉,这正是我想要完成的,但我真的不知道如何去做。我有一个OpenCachingdeveloper密钥,可以访问如下URL: test.opencaching.com/api/geocache?center=38.642,-94.754&limit=2&Authorization=DevKey 它将返回坐标38.642,-94.754中最近的两个地理缓存的信息。URL返回的内容大致如下: [{"name":"John Brown Hill","location
OpenCaching
developer密钥,可以访问如下URL:
test.opencaching.com/api/geocache?center=38.642,-94.754&limit=2&Authorization=DevKey
它将返回坐标38.642,-94.754
中最近的两个地理缓存的信息。URL返回的内容大致如下:
[{"name":"John Brown Hill","location":{"lat":38.55345,"lon":-94.91825}},{"name":"Ensor Farm","location":{"lat":38.7956167,"lon":-94.8052667}}]
我试图使用GoogleMapsAPI来映射这些数据,但我不知道如何将数据保存到JavaScript对象。如果我在中硬编码数据,我知道如何使用它,但我不知道如何从该URL动态获取它。一种方法是使用jQuery并执行如下操作:
$.getJSON("the_url_to_data", function(data) {
var map = new.google.maps.Map(document.getElementById("my_map"),{
...map params...
};
var cache = data.list.Caches // depending on how your JSON is actually returned.
$.each(cache, function(i, cache) {
var name = cache.name; //
var posi = new google.maps.LatLng(cache.lat, cache.lon);
...etc...
}
};
$.getJSON
返回一个JSON对象,然后匿名函数将其作为参数
var cache=data.list.Caches
的示例基于嵌套JSON
实际上,这里有一页很好的Adobe示例
因此,请使用您的示例数据。您可以看到,“location”实际上是另一个嵌套的JSON对象。您可以通过data.location
访问它。如果在对象上循环并将它们放在列表中,只会使迭代更容易。然后使用相同的路径“点”格式访问这些较小的对象。e、 g.循环您的示例代码,将所有数据.location
对象放入名为coords
(例如)的变量中,然后通过coords.lat
和coords.lon
访问lats和lon
[{"name":"John Brown Hill","location":{"lat":38.55345,"lon":-94.91825}},{"name":"Ensor Farm","location":{"lat":38.7956167,"lon":-94.8052667}}]
这些资源应该对您有所帮助,请阅读:,您知道我在哪里可以找到这些示例吗?我很难理解它:/谢谢!我将看看我能从中得出什么。你能详细说明一下“var cache=data.list.Caches”如何根据JSON的返回方式而变化吗?谢谢!这帮了大忙。我还发现,由于跨域限制,我必须在URL末尾添加“&callback=?”以请求JSONP响应。