public class mapActivity extends MapActivity {
private MapView mMapView;
private MapController mMapController;
private GeoPoint mGeoPoint;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.maplayout_1);
mMapView = (MapView)findViewById(R.id.mapView_1);
mMapController = mMapView.getController();
mMapView.setTraffic(false); //traffic mode
//mMapView.setSatellite(true); //satellite mode
//mMapView.setStreetView(false); //street mode
//mMapView.displayZoomControls(true); //老版中用这个,新版中用下面的
mMapView.setBuiltInZoomControls(true);
//String coordinates[] = {"23.15345", "113.343329"};
//String coordinates[]={"1.352566007", "103.78921587"};
String coordinates[] = {"23.141126", "113.34528"};
double lat = Double.parseDouble(coordinates[0]);
double lng = Double.parseDouble(coordinates[1]);
mGeoPoint = new GeoPoint((int) (lat * 1E6), (int) (lng * 1E6));
mMapController.animateTo(mGeoPoint);
mMapController.setZoom(17);
//---Add a location marker---
MapOverlay mapOverlay = new MapOverlay();
List<Overlay> listOfOverlays = mMapView.getOverlays();
listOfOverlays.clear();
listOfOverlays.add(mapOverlay);
mMapView.invalidate();
}
class MapOverlay extends Overlay
{
@Override
public boolean draw(Canvas canvas, MapView mapView, boolean shadow,
long when)
{
super.draw(canvas, mapView, shadow);
// ---translate the GeoPoint to screen pixels---
Point screenPts = new Point();
// 将经纬度转换成实际屏幕坐标
mapView.getProjection().toPixels(mGeoPoint, screenPts);
// ---add the marker---
Bitmap bmp = BitmapFactory.decodeResource(getResources(),
R.drawable.set);
canvas.drawBitmap(bmp, screenPts.x, screenPts.y - 50, null);
return true;
}
@Override
public boolean onTouchEvent(MotionEvent event, MapView mapView) {
// 显示经纬度
if (event.getAction() == 1) {
//System.out.println("touch");
GeoPoint p = mMapView.getProjection().fromPixels(
(int) event.getX(), (int) event.getY());
Toast.makeText(getBaseContext(),
p.getLatitudeE6() / 1E6 + "," + p.getLongitudeE6() / 1E6,
Toast.LENGTH_SHORT).show();
}
return super.onTouchEvent(event, mapView);
}
}
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
switch (keyCode) {
case KeyEvent.KEYCODE_DPAD_UP:
mMapController.zoomIn();
break;
case KeyEvent.KEYCODE_DPAD_DOWN:
mMapController.zoomOut();
break;
}
return super.onKeyDown(keyCode, event);
}
@Override
protected boolean isRouteDisplayed() {
// TODO Auto-generated method stub
return false;
}
@Override
public void onBackPressed() {
// TODO Auto-generated method stub
super.onBackPressed();
finish();
}
}
分享到:
相关推荐
谷歌MAP_V3中文详解以及一个简单例子
google map 的应用实例,可以使用离线地图,很实用
google map 开放实例 小例子 (HTML)
一个简单的google map例子代码,可以通过输入地名直接定位,欢迎欣赏
Android google map API例子
googlemap实例
一个google map的js 介绍如何初始化google map
该实例实现google map和ExtJs结合开发,实现图层管理、图层可见性控制、图层要素详细信息查看等功能。
简单的google地图例子,google Map例子
基于Google map 的API,带搜索功能
详尽的介绍了google map api 并简单的举了几个例子,能帮助你了解Google map 编程
很全的google map api v2版的开发实例,比较全,初学者的必备器
用Google Map 开发的小例子 用Google Map 开发的小例子 用Google Map 开发的小例子
Google map源码,样本,例子,适合各种人群的人使用,好用易懂
一个简单的使用GoogleMap的应用实例
包含了利用Google Map API进行二次开发的很多实例,为刚开始接触Google Map API进行二次开发的读者提供了一条捷径。
Google Map开发房产地图实例,对房产地图的一步一步的开发做了简述和做出可应用实例
google map demo .rar 一个关于地图的例子
实例asp.net调用Google Map 实例asp.net调用Google Map