Android 我们是否可以使用附近的地点搜索api获取位置,如;加油站“;等
这是我的代码示例,它适用于“学校、餐馆”,但不适用于加油站。我认为空间是问题所在Android 我们是否可以使用附近的地点搜索api获取位置,如;加油站“;等,android,android-fragments,Android,Android Fragments,这是我的代码示例,它适用于“学校、餐馆”,但不适用于加油站。我认为空间是问题所在 case R.id.B_restaurant: mMap.clear(); dataTransfer = new Object[2]; String restaurant = "restaurant"; url = getUrl(latitude, longitude, restaurant);
case R.id.B_restaurant:
mMap.clear();
dataTransfer = new Object[2];
String restaurant = "restaurant";
url = getUrl(latitude, longitude, restaurant);
getNearbyPlacesData = new com.example.husnainbutt.driveescuev22.**GetNearbyPlacesData();**
dataTransfer[0] = mMap;
dataTransfer[1] = url;
getNearbyPlacesData.execute(dataTransfer);
Toast.makeText(MapsActivity.this, "Showing Nearby Restaurants", Toast.LENGTH_LONG).show();
break;
下面是GetNearbyplaces,看起来不错,但我无法找出关键字的问题,其中包括空格plz help me soi可以节省我的时间
public class GetNearbyPlacesData extends AsyncTask<Object, String, String> {
String googlePlacesData;
GoogleMap mMap;
String url;
@Override
protected String doInBackground(Object... objects) {
mMap = (GoogleMap)objects[0];
url = (String)objects[1];
com.example.husnainbutt.driveescuev22.DownloadURL downloadUrl = new com.example.husnainbutt.driveescuev22.DownloadURL();
try {
googlePlacesData = downloadUrl.readUrl(url);
} catch (IOException e) {
e.printStackTrace();
}
return googlePlacesData;
}
@Override
protected void onPostExecute(String s) {
List<HashMap<String, String>> nearbyPlaceList = null;
com.example.husnainbutt.driveescuev22.DataParser parser = new com.example.husnainbutt.driveescuev22.DataParser();
nearbyPlaceList = parser.parse(s);
showNearbyPlaces(nearbyPlaceList);
}
private void showNearbyPlaces(List<HashMap<String,String>> nearbyPlaceList)
{
for(int i = 0;i<nearbyPlaceList.size() ; i++)
{
MarkerOptions markerOptions = new MarkerOptions();
HashMap<String , String> googlePlace = nearbyPlaceList.get(i);
Log.d("onPostExecute","Entered into showing locations");
String placeName = googlePlace.get("place_name");
String vicinity = googlePlace.get("vicinity");
double lat = Double.parseDouble( googlePlace.get("lat") );
double lng = Double.parseDouble( googlePlace.get("lng"));
LatLng latLng = new LatLng(lat, lng);
markerOptions.position(latLng);
markerOptions.title(placeName +" : "+ vicinity);
markerOptions.icon(BitmapDescriptorFactory.defaultMarker(BitmapDescriptorFactory.HUE_BLUE));
mMap.addMarker(markerOptions);
mMap.moveCamera(CameraUpdateFactory.newLatLng(latLng));
mMap.animateCamera(CameraUpdateFactory.zoomTo(10));
}
}
}
公共类GetNearbyPlacesData扩展异步任务{
字符串googlePlacesData;
谷歌地图;
字符串url;
@凌驾
受保护的字符串doInBackground(对象…对象){
mMap=(谷歌地图)对象[0];
url=(字符串)对象[1];
com.example.husnainbutt.drivescuev22.DownloadURL DownloadURL=新建com.example.husnainbutt.drivescuev22.DownloadURL();
试一试{
googlePlacesData=downloadUrl.readUrl(url);
}捕获(IOE异常){
e、 printStackTrace();
}
返回googlePlacesData;
}
@凌驾
受保护的void onPostExecute(字符串s){
列表nearbyPlaceList=null;
com.example.husnainbutt.drivescuev22.DataParser parser=new com.example.husnainbutt.drivescuev22.DataParser();
nearbyPlaceList=parser.parse;
显示近地点(近地点列表);
}
专用void showNearbyPlaces(列表nearbyPlaceList)
{
对于(int i=0;i您可以使用Place
-类型:
使用“加油站”类型应该会有帮助。谢谢..!看起来似乎节省了时间..因为加油站不可用。