2017-02-04 133 views
0

我可以使用下面的代码找到附近BloodBanks

private String getUrl(double latitude, double longitude, String nearbyPlace) { 

    StringBuilder googlePlacesUrl = new StringBuilder("https://maps.googleapis.com/maps/api/place/nearbysearch/json?"); 
    googlePlacesUrl.append("location=" + latitude + "," + longitude); 
    googlePlacesUrl.append("&radius=" + PROXIMITY_RADIUS); 
    googlePlacesUrl.append("&type=hospital"); 
    googlePlacesUrl.append("&sensor=true"); 
    googlePlacesUrl.append("&key=" + "API"); 
    Log.d("getUrl", googlePlacesUrl.toString()); 
    return (googlePlacesUrl.toString()); 
} 

谷歌附近的地方API不支持血库作为其类型之一取附近的医院......那么,有没有办法让只有最近的血库?如果是这样,你能告诉我如何...这将是一个很大的帮助,我的项目...

+0

Google没有针对每种可能的地点类型的类型。如果你不能让你通过API所需的信息,你就必须建立自己的数据集,或者可能找到其他来源的数据。 – MrUpsidown

回答

0

来源:Nearby Search Requests

如果你看一下可选参数部分,有一个叫keyword参数。

使用该参数并从StringBuilder删除type参数。

type参数值应为blood bank

private String getUrl(double latitude, double longitude, String nearbyPlace) { 
    StringBuilder googlePlacesUrl = new StringBuilder("https://maps.googleapis.com/maps/api/place/nearbysearch/json?"); 
    googlePlacesUrl.append("location=" + latitude + "," + longitude); 
    googlePlacesUrl.append("&radius=" + PROXIMITY_RADIUS); 
    googlePlacesUrl.append("&keyword=bloodbank"); 
    googlePlacesUrl.append("&sensor=true"); 
    googlePlacesUrl.append("&key=" + "API"); 
    Log.d("getUrl", googlePlacesUrl.toString()); 
    return (googlePlacesUrl.toString()); 
} 
+0

谢谢你..这工作得很好。 googlePlacesUrl.append( “&ketword =血库”); 。但有shouldnot是bloodbank之间的任何空间和拼写关键词不ketword –

+0

@AshithVL感谢指出了这一点。我固定它 –

+0

@ th3pat31 welcome..your编码帮我...谢谢。 –

0

你可以使用关键字,而不是类型,有些东西,没有类型,血库是一。或者你可以尝试搜索健康,然后在你的代码中检查是否有像“血库”这样的词。