Back to project page SmartMap.
The source code is released under:
Apache License
If you think the Android project SmartMap listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.
package com.dennytech.smartmap.impl.google; //ww w.jav a 2 s . co m import android.content.Context; import android.view.View; import android.view.View.OnTouchListener; import android.view.ViewGroup.LayoutParams; import com.dennytech.smartmap.IGeoPoint; import com.dennytech.smartmap.IMapView; import com.dennytech.smartmap.IMapViewLayoutParams; import com.dennytech.smartmap.IOverlay; import com.dennytech.smartmap.IProjection; import com.dennytech.smartmap.MapViewCallback; import com.google.android.maps.GeoPoint; import com.google.android.maps.MapView; import com.google.android.maps.Overlay; public class GoogleMapView implements IMapView { MyGoogleMapView mapView; GoogleMapController mapController; GoogleGeoPoint mapCenter; MapViewCallback mCallback; public GoogleMapView(Context context, String apiKey) { mapView = new MyGoogleMapView(context, apiKey); mapController = new GoogleMapController(); mapCenter = new GoogleGeoPoint(); } public View real() { return mapView; } public void setCallback(MapViewCallback callback) { mapView.setCallback(callback); } public GoogleMapController getController() { return mapController.wrap(mapView.getController()); } public GoogleGeoPoint getMapCenter() { return mapCenter.wrap(mapView.getMapCenter()); } public void setBuiltInZoomControls(boolean on) { mapView.setBuiltInZoomControls(on); } @Override public void addOverlay(IOverlay ol) { mapView.getOverlays().add((Overlay) ol.real()); } @Override public void removeOverlay(IOverlay ol) { mapView.getOverlays().remove(ol.real()); } @Override public void clearOverlay() { mapView.getOverlays().clear(); } public int getMaxZoomLevel() { return mapView.getMaxZoomLevel(); } @Override public int getZoomLevel() { return mapView.getZoomLevel(); } public void setLayoutParams(LayoutParams params) { mapView.setLayoutParams(params); } public void setClickable(boolean clickable) { mapView.setClickable(clickable); } @Override public IProjection getProjection() { return new GoogleProjection().wrap(mapView.getProjection()); } @Override public void invalidate() { mapView.invalidate(); } @Override public void addView(View child, IMapViewLayoutParams params) { mapView.addView(child, (MapView.LayoutParams) params.real()); } @Override public void updateViewLayout(View view, LayoutParams params) { mapView.updateViewLayout(view, params); } @Override public void setOnTouchListener(OnTouchListener listener) { mapView.setOnTouchListener(listener); } public static class MVLayoutParams implements IMapViewLayoutParams { private MapView.LayoutParams mReal; public MVLayoutParams(int width, int height, IGeoPoint point, int alignment) { mReal = new MapView.LayoutParams(width, height, (GeoPoint) (point == null ? null : point.real()), alignment); } public MVLayoutParams(MapView.LayoutParams params) { mReal = params; } @Override public Object real() { return mReal; } @Override public int getWidth() { return mReal.width; } @Override public int getHeight() { return mReal.height; } @Override public IGeoPoint getPoint() { return new GoogleGeoPoint(mReal.point); } @Override public void setPoint(IGeoPoint point) { mReal.point = (GeoPoint) point.real(); } @Override public int getAlignment() { return mReal.alignment; } @Override public int getMode() { return mReal.mode; } } }