Bonjour ,
je travaille sur un petit projet sous android j'ai essaye l'affichage d'une map view mais la maps veut pas s'afficher je sais pas d'ou vient le blém
la clé je l'ai bien générée
voila le code source
mon activité
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64 package com.example.testdeath; import java.util.List; import android.graphics.drawable.Drawable; import android.os.Bundle; import com.google.android.maps.GeoPoint; import com.google.android.maps.MapActivity; import com.google.android.maps.MapController; import com.google.android.maps.MapView; import com.google.android.maps.Overlay; import com.google.android.maps.OverlayItem; public class MainActivity extends MapActivity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); // Displaying Zooming controls MapView mapView = (MapView) findViewById(R.id.mapView); mapView.setBuiltInZoomControls(true); /** * Changing Map Type * */ // mapView.setSatellite(true); // Satellite View // mapView.setStreetView(true); // Street View // mapView.setTraffic(true); // Traffic view /** * showing location by Latitude and Longitude * */ MapController mc = mapView.getController(); double lat = Double.parseDouble("48.85827758964043"); double lon = Double.parseDouble("2.294543981552124"); GeoPoint geoPoint = new GeoPoint((int)(lat * 1E6), (int)(lon * 1E6)); mc.animateTo(geoPoint); mc.setZoom(15); mapView.invalidate(); /** * Placing Marker * */ List<Overlay> mapOverlays = mapView.getOverlays(); Drawable drawable = this.getResources().getDrawable(R.drawable.mark_red); AddItemizedOverlay itemizedOverlay = new AddItemizedOverlay(drawable, this); OverlayItem overlayitem = new OverlayItem(geoPoint, "Hello", "Sample Overlay item"); itemizedOverlay.addOverlay(overlayitem); mapOverlays.add(itemizedOverlay); } @Override protected boolean isRouteDisplayed() { return false; } }
lautre activité
l'interface mapview
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" tools:context=".MainActivity" > <com.google.android.maps.MapView xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/mapView" android:layout_width="fill_parent" android:layout_height="fill_parent" android:clickable="true" android:apiKey="AIzaSyB9ONJU7ffPOlURR-QwVLL2tpqIQ12wPTs" /> </RelativeLayout>
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72 package com.example.testdeath; import java.util.ArrayList; import android.content.Context; import android.graphics.drawable.Drawable; import android.util.Log; import android.view.MotionEvent; import android.widget.Toast; import com.google.android.maps.GeoPoint; import com.google.android.maps.ItemizedOverlay; import com.google.android.maps.MapView; import com.google.android.maps.OverlayItem; public class AddItemizedOverlay extends ItemizedOverlay<OverlayItem> { private ArrayList<OverlayItem> mapOverlays = new ArrayList<OverlayItem>(); private Context context; public AddItemizedOverlay(Drawable defaultMarker) { super(boundCenterBottom(defaultMarker)); } public AddItemizedOverlay(Drawable defaultMarker, Context context) { this(defaultMarker); this.context = context; } @Override protected OverlayItem createItem(int i) { return mapOverlays.get(i); } @Override public int size() { return mapOverlays.size(); } @Override protected boolean onTap(int index) { Log.e("Tap", "Tap Performed"); return true; } public void addOverlay(OverlayItem overlay) { mapOverlays.add(overlay); this.populate(); } /** * Getting Latitude and Longitude on Touch event * **/ @Override public boolean onTouchEvent(MotionEvent event, MapView mapView) { if (event.getAction() == 1) { GeoPoint geopoint = mapView.getProjection().fromPixels( (int) event.getX(), (int) event.getY()); // latitude double lat = geopoint.getLatitudeE6() / 1E6; // longitude double lon = geopoint.getLongitudeE6() / 1E6; Toast.makeText(context, "Lat: " + lat + ", Lon: "+lon, Toast.LENGTH_SHORT).show(); } return false; } }
String.xml
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 <?xml version="1.0" encoding="utf-8"?> <resources> <string name="app_name">testdeath</string> <string name="action_settings">Settings</string> <string name="hello_world">Hello world!</string> </resources>
android manifest
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37 <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.example.testdeath" android:versionCode="1" android:versionName="1.0" > <uses-sdk android:minSdkVersion="8" android:targetSdkVersion="17" /> <application android:allowBackup="true" android:icon="@drawable/ic_launcher" android:label="@string/app_name" android:theme="@style/AppTheme" > <!-- Add Google Map Library --> <uses-library android:name="com.google.android.maps" /> <activity android:name="com.example.testdeath.MainActivity" android:label="@string/app_name" > <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> </application> <!-- Allow to connect with internet --> <uses-permission android:name="android.permission.INTERNET" /> </manifest>
Partager