我想在Google地图上显示多个标记。我的
这是我的代码:
latlng
坐标是从Parse数据库获取的,但我无法看到标记。
我的第二个问题是,我想显示一个餐厅名称作为标记的标题,我该怎么做?这是我的代码:
private class putMarker extends AsyncTask> {请帮我解决这个问题。
@Override protected ArrayList doInBackground(Void... params) { // TODO Auto-generated method stub try {
Toast.makeText(getApplicationContext(), longitude + " " + latitude, Toast.LENGTH_SHORT).show();
ParseQuery query = new ParseQuery( "Details"); ParseGeoPoint myGeoPiont = new ParseGeoPoint(latitude, longitude); query.whereNear("location", myGeoPiont); query.setLimit(10); ob = query.find(); for (ParseObject resObj : ob) { ParseGeoPoint location = resObj .getParseGeoPoint("location"); restaurantName = (String) resObj.get("RestaurantName"); LatLng resLatLng = new LatLng(location.getLatitude(), location.getLongitude()); Toast.makeText(getApplicationContext(), restaurantName, Toast.LENGTH_SHORT) .show(); PiontList.add(resLatLng); }
} catch (Exception e) { // TODO: handle exception } return PiontList; } protected void onPostExecute(ArrayList latlngList) { for(LatLng res: latlngList) { MarkerOptions markerOptions = new MarkerOptions(); markerOptions.position(res); markerOptions.title(restaurantName); // 在此处添加标题 markerOptions.icon(BitmapDescriptorFactory .defaultMarker(BitmapDescriptorFactory.HUE_GREEN)); googleMap.addMarker(markerOptions); } }
}
doInBackground()
中更新 UI。移除 Toast。 - Raghunandan