Json 使用谷歌地图查找给定zipcode的所有公园

Json 使用谷歌地图查找给定zipcode的所有公园,json,google-maps,map,google-maps-api-3,geocoding,Json,Google Maps,Map,Google Maps Api 3,Geocoding,我正在尝试使用返回给定邮政编码的所有公园。似乎如果我有一个公园的名字,我没有问题返回数据。比如 但是,如果我在公园里搜索邮政编码 我得到地址中带有parks的邮政编码的任何结果。我试过使用lanlng,但也有同样的问题。谷歌似乎不允许在查询结果时使用types[],这很不幸 如果我在上搜索“98122附近的公园”,我会得到所有的结果,但它似乎没有使用相同的API 我要了一把钥匙,我想这正是我需要的 我想我的问题是: a) 我是不是遗漏了什么? b) 我并不拘泥于谷歌API,他们的其他API将

我正在尝试使用返回给定邮政编码的所有公园。似乎如果我有一个公园的名字,我没有问题返回数据。比如

但是,如果我在公园里搜索邮政编码

我得到地址中带有
parks
的邮政编码的任何结果。我试过使用
lanlng
,但也有同样的问题。谷歌似乎不允许在查询结果时使用
types[]
,这很不幸

如果我在上搜索“98122附近的公园”,我会得到所有的结果,但它似乎没有使用相同的API

我要了一把钥匙,我想这正是我需要的

我想我的问题是:
a) 我是不是遗漏了什么?
b) 我并不拘泥于谷歌API,他们的其他API将通过zip为所有公园输出JSON结果。我对Bing和Yahoo进行了简短的调查,但没有结果


谢谢。

Google geocoder API没有规定在查询中指定“类型”,如“公园”。它将在响应中标识功能类型,但您不能将其放入请求中


您可能可以在Google Places API中执行您想要的操作,该API现在可供开发人员预览。我还没试过。您仍然无法在请求中指定类型,但您指定了位置和半径,它将返回所有位置,每个位置都有一个或多个关联的类型代码(可能包括park)。您可以搜索返回的结果,查看是否出现公园。请参见使用Google Places API和文本搜索

更改[zipcode]和键[apikey]:

https://maps.googleapis.com/maps/api/place/textsearch/json?query=park+in+[zipcode]&key=[apikey]

我刚刚做了这个,我没有使用邮政编码,但是你可以使用邮政编码并获得一对lat/lng。此处已使用lat/lng对(地图中心集)

这是获取parks的查询。我会说,这可能不是绝对的(只有主要公园),有20个限制

这是来自他们的文档,顺便说一句,使用PlacesAPI,这段代码也是来自ReactJS,因此参考“current”

按ctrl+f组合键,使“存储”跳转到代码

谢谢,如上所述,我注册了一个places API密钥。我只是觉得现在有一种东西可以让我在邮政编码中搜索公园。真的很遗憾,我想这就是答案,你不能:(Satyam sw:我认为您可以提供一个“组件”作为位置,并使用组件的邮政编码类型。
const plotParks = (parks) => {
    // array of parks, use marker to plot on map and fit bounds to center
}

const service = new window.google.maps.places.PlacesService(mapTarget.current);

// radius in meters so I added mile to radius, seems correct, formula pulled from SO ha
const radiusInMeters = (Math.round(10000*(radiusMiles*5280 / 3.281))/10000);

service.nearbySearch(
    {location: mapTarget.current.getCenter(), radius: radiusInMeters, type: ['park']},
    (results, status, pagination) => {
        if (status !== 'OK' || !results.length) {
            alert('No parks found near you, try increasing your radius or try a new address');
    } else {
        plotParks(results);
                }
    });