-1
ここに:Async and ListView Android非同期とGoogleマップ
私はAsyncとListviewについて尋ねました。今、非同期とマップに問題があります。 Asyncを返すJSONでマーカーを設定したい。残念ながら、私は、デフォルト値とそれを望まないものを設定します。 Googleが準備マップ後
public class MarkerInfo extends FragmentActivity implements OnMapReadyCallback {
private GoogleMap mMap;
private LatLng sydney;
private String longituide;
private String latitude;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_marker_info);
SupportMapFragment mapFragment = (SupportMapFragment) getSupportFragmentManager()
.findFragmentById(R.id.map);
mapFragment.getMapAsync(this);
Bundle bundle_list = getIntent().getExtras();
final String name_item = bundle_list.getString("name");
JSONObject toSend = new JSONObject();
try {
toSend.put("action", "getAllMarkers");
} catch (JSONException e) {
e.printStackTrace();
}
JSONTransmitter asyncTask = (JSONTransmitter) new JSONTransmitter(new JSONTransmitter.AsyncResponse() {
@Override
public void processFinish(String output) {
try {
JSONArray pages = new JSONArray(output);
for (int i = 0; i < pages.length(); ++i) {
JSONObject rec = pages.getJSONObject(i);
String name_task = rec.getString("nazwa");
latitude = rec.getString("latitude");
longituide = rec.getString("longitude");
mMap.addMarker(new MarkerOptions().position(new LatLng(Double.parseDouble(longituide), Double.parseDouble(latitude))));
}
} catch (JSONException e) {
e.printStackTrace();
}
}
}).execute(toSend);
}
public void onMapReady(GoogleMap googleMap) {
mMap = googleMap;
}
}