我正在开发一个应用程序,我需要检索当前位置附近的餐馆。论坛建议我使用 Google Places API。当我阅读 Google Place API 时,它说项目需要是“Google App Engine 项目”+ Android 客户端。但是我很困惑,因为我对谷歌世界还很陌生,这是否是一种正确的做法。
有人可以建议我检索当前位置附近餐厅的最佳方式吗?
谢谢。
我正在开发一个应用程序,我需要检索当前位置附近的餐馆。论坛建议我使用 Google Places API。当我阅读 Google Place API 时,它说项目需要是“Google App Engine 项目”+ Android 客户端。但是我很困惑,因为我对谷歌世界还很陌生,这是否是一种正确的做法。
有人可以建议我检索当前位置附近餐厅的最佳方式吗?
谢谢。
按照这个链接。为您的应用程序创建一个应用程序密钥,您只需发出一个 Http 请求,您将获得 Xml//json 中的所有信息。 https://developers.google.com/places/documentation/
在上面的网址中,添加您的 Api 密钥和位置。它将返回一个 xml 给您,其中包含 500m 圈内的所有restras。
此 url 将只接受获取请求。Yov 必须在 Url 本身中附加所有参数。
@Override
public void run()
{
String params="location="+(location.getLatitude())+","+(location.getLongitude())+"&radius=5000&types=food&sensor=false&key=your kay";
try
{
http.getPlaces(new URL("https://maps.googleapis.com/maps/api/place/search/xml?"+params));
Log.i("url", "https://maps.googleapis.com/maps/api/place/search/xml?"+params);
setList();
}
catch (MalformedURLException e)
{
e.printStackTrace();
}
catch (Exception e)
{
e.printStackTrace();
}
}
});
public void getPlacesDetails(URL url) throws Exception {
try
{
connection = (HttpURLConnection) url.openConnection();
connection.setDoInput(true);
connection.setDoOutput(true);
connection.setUseCaches(false);
connection.setConnectTimeout(TIMEOUT_CONNECT_MILLIS);
connection.setReadTimeout(TIMEOUT_READ_MILLIS);
connection.setRequestMethod("GET");
inStream = (InputStream) connection.getInputStream();
SAXParserFactory spf = SAXParserFactory.newInstance();
SAXParser sp = spf.newSAXParser();
XMLReader xr = sp.getXMLReader();
HospitalDetailParser myXMLHandler = new HospitalDetailParser();
xr.setContentHandler(myXMLHandler);
xr.parse(new InputSource(inStream));
}
catch (MalformedURLException e)
{
Log.i("exception in sms", "" + e.toString());
throw e;
}
catch (Exception e)
{
Log.i("exception in sms", "" + e.toString());
throw e;
}
}