Verwendung HttpUrlConnection
die JSON-Daten zu erhalten, und dann ein neues JSONObject
Objekt zu erstellen, müssen Sie jetzt nur noch die Informationen erhalten von den JSONObject
durch respektieren die Schlüssel, die die URL zur Verfügung stellt. An dieser Stelle müssen Sie nur die Werte an GoogleMap
Object übergeben. zum Beispiel:
Lassen Sie sich supppose, dass die URL mit diesen JSON-Daten reagieren:
{
"long" : 25,
"lat" : 6
}
Sie den Code wiederherstellen, indem eine HttpURLConnection
:
URL url = new URL("http://localhost_or_any_url/mypage.php");
HttpURLConnection urlConnection = (HttpURLConnection) url.openConnection();
String buff = "", data= "";
InputStream is = urlConnection.getInputStream();
BufferedReader br = new BufferedReader(new InputStreamReader(is));
while ((buff = br.readLine()) != null) data+= buff;
JSONObject json= new JSONObject(data);
int long= json.getInt("long");
int lat= json.getInt("lat");
jetzt haben Sie Ihre Position (x, y) (Länge, Breite) für die beiden Variablen (lang, lat), müssen Sie sie nur an Ihr GoogleMap
Objekt übergeben, um eine Markierung wie diese zu erstellen:
LatLng myPosition= new LatLng(-34, 151);
googleMap.addMarker(new MarkerOptions().position(myPosition).title("My position"));
googleMap.moveCamera(CameraUpdateFactory.newLatLng(myPosition));
//the last line (the call to moveCamera method) is optional, it helps to move the camera to the marker in case the current map position is far from the marked position
Dies ist ein einfaches Beispiel, Sie müssen wissen, wo Sie die Daten von der URL erhalten (Netzwerkoperationen können nicht innerhalb des Haupt Thread durchgeführt werden, müssen Sie eine AsyncTask
oder eine Thread
erstellen) und wie Sie die übergeben Daten zu der Klasse, die das Objekt GoogleMap
enthält.
viel Glück.
Den JSON lesen?Googles [GSON] (https://github.com/google/gson) kann Ihnen helfen. –
Und um GeoJSON zu lesen, können Sie [Google Maps Android API Utility Library] (https://developers.google.com/maps/documentation/android-api/utility/#introduction) verwenden – antonio