Android 應用使用 Google 地圖的例子
[代碼] GMapsActivity.java
package com.javacodegeeks.android.googlemaps;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 GMapsActivity extends MapActivity {
private MapView mapView; private static final int latitudeE6 = 37985339; private static final int longitudeE6 = 23716735; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); mapView = (MapView) findViewById(R.id.map_view); mapView.setBuiltInZoomControls(true); List<overlay> mapOverlays = mapView.getOverlays(); Drawable drawable = this.getResources().getDrawable(R.drawable.icon); CustomItemizedOverlay itemizedOverlay = new CustomItemizedOverlay(drawable, this); GeoPoint point = new GeoPoint(latitudeE6, longitudeE6); OverlayItem overlayitem = new OverlayItem(point, "Hello", "I'm in Athens, Greece!"); itemizedOverlay.addOverlay(overlayitem); mapOverlays.add(itemizedOverlay); MapController mapController = mapView.getController(); mapController.animateTo(point); mapController.setZoom(6); } @Override protected boolean isRouteDisplayed() { return false; }
}</pre>
[代碼] CustomItemizedOverlay.java
package com.javacodegeeks.android.googlemaps;import java.util.ArrayList;
import android.app.AlertDialog; import android.content.Context; import android.graphics.drawable.Drawable;
import com.google.android.maps.ItemizedOverlay; import com.google.android.maps.OverlayItem;
public class CustomItemizedOverlay extends ItemizedOverlay<OverlayItem> {
private ArrayList<OverlayItem> mapOverlays = new ArrayList<OverlayItem>();
private Context context;
public CustomItemizedOverlay(Drawable defaultMarker) { super(boundCenterBottom(defaultMarker)); }
public CustomItemizedOverlay(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) { OverlayItem item = mapOverlays.get(index); AlertDialog.Builder dialog = new AlertDialog.Builder(context); dialog.setTitle(item.getTitle()); dialog.setMessage(item.getSnippet()); dialog.show(); return true; }
public void addOverlay(OverlayItem overlay) { mapOverlays.add(overlay); this.populate(); }
}</pre> </div>
[代碼] layout.xml
<?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android="
<com.google.android.maps.MapView xmlns:android="
</RelativeLayout></pre> </div>
[代碼] AndroidManifest.xml
<?xml version="1.0" encoding="utf-8"?>本文由用戶 openkk 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!