demo运行前请确保安装了GoogleAPI的android插件,(请采用GoogleAPI模式)

package com.royal.googleMap;import java.util.List;import android.graphics.Bitmap;import android.graphics.BitmapFactory;import android.graphics.Canvas;import android.graphics.Paint;import android.graphics.Point;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;public class GoogleMapDemoActivity extends MapActivity {private MapView mapView;private GeoPoint geoPoint;private MapController mapController;/** Called when the activity is first created. */@Overridepublic void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.main);mapView = (MapView) findViewById(R.id.map_view);//mapView = new MapView(this,"05RuQFhSv2zb5X5u91S0hcsIdcVwFNfwrE__18w");// 设置为交通模式// mapView.setTraffic(true);// 设置为卫星模式//mapView.setSatellite(true);// 设置为街景模式 mapView.setStreetView(true);// 取得MapController对象(控制MapView)mapController = mapView.getController();mapView.setEnabled(true);mapView.setClickable(true);// 设置地图支持缩放mapView.setBuiltInZoomControls(true);// 设置起点geoPoint = new GeoPoint((int) (22.744680959764427 * 1000000),(int) (113.59523713588715 * 1000000));// 定位mapController.animateTo(geoPoint);// 设置倍数(1-21)mapController.setZoom(12);// 添加Overlay,用于显示标注信息MyLocationOverlay myLocationOverlay = new MyLocationOverlay();List<Overlay> list = mapView.getOverlays();list.add(myLocationOverlay);}@Overrideprotected boolean isRouteDisplayed() {// TODO Auto-generated method stubreturn false;}/** * 绘图类 * @author Royal * */class MyLocationOverlay extends Overlay {@Overridepublic boolean draw(Canvas canvas, MapView mapView, boolean shadow,long when) {// TODO Auto-generated method stubsuper.draw(canvas, mapView, shadow);Paint paint = new Paint();Point myScreenCoords = new Point();// 将经纬度转换成实际屏幕坐标mapView.getProjection().toPixels(geoPoint, myScreenCoords);paint.setStrokeWidth(1);paint.setARGB(255, 255, 0, 0);paint.setStyle(Paint.Style.STROKE);Bitmap bmp = BitmapFactory.decodeResource(getResources(),R.drawable.home);canvas.drawBitmap(bmp, myScreenCoords.x, myScreenCoords.y, paint);canvas.drawText("Here am I", myScreenCoords.x, myScreenCoords.y, paint);return true;}}}

AndroidManifest.xml

<?xml version="1.0" encoding="utf-8"?><manifest xmlns:android="http://schemas.android.com/apk/res/android"    package="com.royal.googleMap"    android:versionCode="1"    android:versionName="1.0" >    <uses-sdk android:minSdkVersion="7" />    <application        android:icon="@drawable/ic_launcher"        android:label="@string/app_name" >                <!-- 声明适用Google Map API -->        <uses-library android:name="com.google.android.maps"/>                <activity            android:label="@string/app_name"            android:name=".GoogleMapDemoActivity" >            <intent-filter >                <action android:name="android.intent.action.MAIN" />                <category android:name="android.intent.category.LAUNCHER" />            </intent-filter>        </activity>    </application>        <uses-permission android:name="android.permission.INTERNET"/></manifest>

更多相关文章

  1. 设计模式--静态工厂设计模式在android中的使用
  2. Android沉浸式状态栏以及浅色模式开发
  3. Android架构模式二:MVP
  4. Android的启动模式(android:launchMode)

随机推荐

  1. 【3】windowNoTitle 和 android:windowNo
  2. Android(安卓)操作权限大全 (android.per
  3. Android(安卓)自定义View measure模板
  4. Android学习资料分享(不断更新中)
  5. Android(安卓)View预估大小
  6. 如何打造一个 Android(安卓)编译时注解框
  7. android 单例
  8. Android(安卓)mqtt入门 Android(安卓)stu
  9. 2011.09.01(2)——— android 处理双击事件
  10. 个人练习:ListView绑定数据和显示的几种方