GoogleMap

  • Antworten:5
Stefan S.
  • Forum-Beiträge: 560

11.07.2011, 20:52:40 via Website

Hallo

Ich habe folgendes Problem wo ich nicht ganz durchblicke B)

Ich habe eine LIste von Adressen in meiner DB welche ich gerne auf GoogleMaps einblenden möchte (z,B, als Knopf) und wenn man den drückt wird die Adresse übernommen...

Kann mir hier jemand helfen?

Antworten
Marcel B.
  • Forum-Beiträge: 31

12.07.2011, 09:55:08 via Website

Heiho,

habe folgenden Code selbst nicht ausprobiert, müsste aber das sein was du suchst:

http://www.androidsnippets.com/open-map-via-intent

Gruß B

— geändert am 12.07.2011, 09:55:42

Antworten
Stefan S.
  • Forum-Beiträge: 560

12.07.2011, 14:28:10 via Website

Danke für das Snippet. Werde es bei Gelegenheit ausprobieren.
Im code steht was von Lattitude/Longitude... brauche ich das zu wissen?

Antworten
Gelöschter Account
  • Forum-Beiträge: 80

12.07.2011, 16:12:26 via Website

Latitude = Breitengrad
Longitude = Längengrad

Wie ich dich verstanden habe, versuchst du genau das anhand von Adressen herauszufinden. Dazu setzt du diese Parameter einfach auf 0. So steht es darunter: Show map at locaiton with point: geo:0,0?q=my+street+address

Wenn du schon eine MapView mit MapOverlay hast, kannst du wenn du willst eine Funktion benutzen, die ich für genau diesen Zweck mal geschrieben habe:

1/**
2 * Ermittelt die Geo-Informationen aus einem Address-String
3 * @param location : Addresse
4 * @return GeoPoint : Koordinaten der Addresse
5 */
6 public GeoPoint getCoordsByLocation(String location){
7 private String address = "";
8 private GeoPoint coords = null;
9 //Formatierung der Eingabe
10 try {
11 address = URLEncoder.encode(location,"UTF-8");
12 } catch (UnsupportedEncodingException e1) {
13 e1.printStackTrace();
14 address = location;
15 }
16
17 //Ausführung des Http-Requests
18 HttpClient httpClient = new DefaultHttpClient();
19 HttpGet httpGet = new HttpGet("http://maps.google.com/maps/api/geocode/json?address='"+address+"'&sensor=false");
20 HttpResponse response;
21
22 try{
23 response = httpClient.execute(httpGet);
24 HttpEntity entity = response.getEntity();
25
26 if (entity != null){
27 InputStream instream = entity.getContent();
28 BufferedReader reader = new BufferedReader(new InputStreamReader(instream));
29 StringBuilder sb = new StringBuilder();
30
31 String line = null;
32 while ((line = reader.readLine()) != null)
33 sb.append(line);// + "n");
34 String result = sb.toString();
35 instream.close();
36
37 //Auslesen des Resultats
38 if (((String)(new JSONObject(result)).getString("status")).equals("OK")){
39 //valides Resultat
40 Double lat = (Double) (new JSONObject(result)).getJSONArray("results").
41 getJSONObject(0).getJSONObject("geometry").getJSONObject("location").get("lat");
42 Double lng = (Double) (new JSONObject(result)).getJSONArray("results").
43 getJSONObject(0).getJSONObject("geometry").getJSONObject("location").get("lng");
44
45 //Position auf empfangene Koordinaten setzen
46 coords = new GeoPoint((int) (lat * 1E6), (int) (lng * 1E6));
47 }
48 }
49 //Fehler abfangen
50 }catch (ClientProtocolException e) {
51 e.printStackTrace();
52 } catch (IOException e) {
53 e.printStackTrace();
54 } catch (JSONException e) {
55 e.printStackTrace();
56 } catch (Exception e){
57 e.printStackTrace();
58 }finally{
59 httpGet.abort();
60 }
61 //Rückgabe der Position
62 return coords;
63 }

Viel Spaß damit,
Manu

Antworten
Stefan S.
  • Forum-Beiträge: 560

12.07.2011, 21:08:40 via Website

Ich glaub ich bin zu doof...
Ich muss ja eine Map-Based Activity machen welche von MapActivity erbt (denke ich mal)
Jedoch krieg ich schon dieses Ding nicht hin, da die Referenz com.google.android.maps.MapActivity nicht gefunden werden kann.
Ich fühle mich jetzt wieder extrem zurückgeworfen mit einem Selbstbewusstsein betreffend Android-Entwicklung... :(

Antworten
Thomas L.
  • Forum-Beiträge: 58

13.07.2011, 07:59:12 via Website

Halb so wild :)
Du startest den SDK Manager und lädst dir die neueste Version von "Google APIs by Google Inc." herunter.
Wenn das geschehen ist startest du Eclipse am besten noch einmal neu. Machst dann rechtsklick auf dein Projekt -> Properties -> Android.
Dort wählst du dann als Build Target "Google APIs" aus und bestätigst mit OK.
Und schon hat er mit dem Import von com.google.maps keine Probleme mehr.
Dann schaffst dus auch deine MapActivity abzuleiten :)

Viel erfolg

Antworten