ANDROID_MARS学习笔记_S03_009_GOOGLEMAP3
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了ANDROID_MARS学习笔记_S03_009_GOOGLEMAP3,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含4710字,纯文字阅读大概需要7分钟。
内容图文
一 、代码
1.xml
(1)main.xml
1 <?xml version="1.0" encoding="utf-8"?> 2 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 3 android:orientation="vertical" 4 android:layout_width="fill_parent" 5 android:layout_height="fill_parent" 6 > 7 <com.google.android.maps.MapView 8 android:id="@+id/mapViewId" 9 android:layout_width="fill_parent" 10 android:layout_height="fill_parent" 11 android:enabled="true" 12 android:clickable="true" 13 android:apiKey="0pkT0EYxPi2VZ5beDaJ0g08aCtWGmKTFnOvj6iw" 14 /> 15 </LinearLayout>
(2)AndroidManifest.xml
1 <?xml version="1.0" encoding="utf-8"?> 2 <manifest xmlns:android="http://schemas.android.com/apk/res/android" 3package="com.se7en" 4 android:versionCode="1" 5 android:versionName="1.0"> 6 <uses-sdk android:minSdkVersion="8" /> 7 8 <application android:icon="@drawable/icon" android:label="@string/app_name"> 9 <uses-library android:name="com.google.android.maps" /> 10 <activity android:name=".MainActivity" 11 android:label="@string/app_name"> 12 <intent-filter> 13 <action android:name="android.intent.action.MAIN" /> 14 <category android:name="android.intent.category.LAUNCHER" /> 15 </intent-filter> 16 </activity> 17 </application> 18 <uses-permission android:name="android.permission.INTERNET" /> 19 </manifest>
2.java
(1)MainActivity.java
1 package com.se7en; 2 3 import java.util.List; 4 5 import android.graphics.Bitmap; 6 import android.graphics.BitmapFactory; 7 import android.graphics.Canvas; 8 import android.graphics.Color; 9 import android.graphics.Paint; 10 import android.graphics.Path; 11 import android.graphics.Point; 12 import android.os.Bundle; 13 14 import com.google.android.maps.GeoPoint; 15 import com.google.android.maps.MapActivity; 16 import com.google.android.maps.MapController; 17 import com.google.android.maps.MapView; 18 import com.google.android.maps.Overlay; 19 import com.google.android.maps.Projection; 20 21 public class MainActivity extends MapActivity { 22private Projection projection; 23private List<Overlay> overlays; 24private MapController mapController; 25private GeoPoint beginGeoPoint; 26private GeoPoint endGeoPoint; 27 28/** Called when the activity is first created. */ 29 @Override 30publicvoid onCreate(Bundle savedInstanceState) { 31super.onCreate(savedInstanceState); 32 setContentView(R.layout.main); 33 34 beginGeoPoint = new GeoPoint(19240000,-99120000); 35 endGeoPoint = new GeoPoint(19340000,-99220000); 36 37 MapView mapView = (MapView)findViewById(R.id.mapViewId); 38 mapView.setBuiltInZoomControls(true); 39 40//mapController主要用于对地图进行控制 41 mapController = mapView.getController(); 42 overlays = mapView.getOverlays(); 43 projection = mapView.getProjection(); 44 45 overlays.add(new PointOverlay(beginGeoPoint)); 46 overlays.add(new PointOverlay(endGeoPoint)); 47 overlays.add(new LineOverlay(beginGeoPoint,endGeoPoint)); 48 49//将地图以动画的形式移动到指定的点 50 mapController.animateTo(beginGeoPoint); 51//设置地图的放大级别 52 mapController.setZoom(12); 53 } 54 55 @Override 56protectedboolean isRouteDisplayed() { 57// TODO Auto-generated method stub 58returnfalse; 59 } 60 61//图标层 62class PointOverlay extends Overlay{ 63private GeoPoint geoPoint; 64public PointOverlay(){ 65 66 } 67public PointOverlay(GeoPoint geoPoint){ 68this.geoPoint = geoPoint; 69 } 70publicvoid draw(Canvas canvas,MapView mapView,boolean shadow){ 71super.draw(canvas, mapView, shadow); 72 Point point = new Point(); 73//将geoPoint转换为屏幕上的X、Y轴坐标 74 projection.toPixels(geoPoint, point); 75//位图 76 Bitmap bmp = BitmapFactory.decodeResource(getResources(),R.drawable.tool); 77 Paint paint = new Paint();//画笔 78//Y轴-30是为了调整图片的显示位置(默认是讲图片的左上角对应到经纬度点) 79 canvas.drawBitmap(bmp,point.x,point.y-30,paint); 80 } 81 } 82 83//路线层 84class LineOverlay extends Overlay{ 85private GeoPoint begin; 86private GeoPoint end; 87 88public LineOverlay(){} 89public LineOverlay(GeoPoint begin,GeoPoint end){ 90this.begin = begin; 91this.end = end; 92 } 93 94publicvoid draw(Canvas canvas,MapView mapView,boolean shadow){ 95super.draw(canvas, mapView, shadow); 96 Paint paint = new Paint(); 97 paint.setColor(Color.BLUE); 98//设置线条的样式(填满的空心线) 99 paint.setStyle(Paint.Style.FILL_AND_STROKE); 100 paint.setStrokeWidth(2); 101 Point beginPoint = new Point(); 102 Point endPoint = new Point(); 103 Path path = new Path(); 104 projection.toPixels(begin,beginPoint); 105 projection.toPixels(end,endPoint); 106//指定划线的起始点107 path.moveTo(beginPoint.x,beginPoint.y); 108//指定划线的终点109 path.lineTo(endPoint.x,endPoint.y); 110 canvas.drawPath(path,paint); 111 } 112 } 113114 }
原文:http://www.cnblogs.com/shamgod/p/5204446.html
内容总结
以上是互联网集市为您收集整理的ANDROID_MARS学习笔记_S03_009_GOOGLEMAP3全部内容,希望文章能够帮你解决ANDROID_MARS学习笔记_S03_009_GOOGLEMAP3所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。