首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 其他教程 > 操作系统 >

GIS的学习(十七)Osmdroid中map图层

2012-09-27 
GIS的学习(十七)Osmdroid中地图图层? 在地图中添加小地图和线路图层的使用:源代码:package com.geoserver.

GIS的学习(十七)Osmdroid中地图图层

? 在地图中添加小地图和线路图层的使用:

源代码:

package com.geoserver.osmdroid;import org.osmdroid.tileprovider.tilesource.TileSourceFactory;import org.osmdroid.util.GeoPoint;import org.osmdroid.views.MapController;import org.osmdroid.views.MapView;import org.osmdroid.views.overlay.MyLocationOverlay;import org.osmdroid.views.overlay.PathOverlay;import org.osmdroid.views.overlay.ScaleBarOverlay;import org.osmdroid.views.overlay.SimpleLocationOverlay;import org.osmdroid.views.overlay.MinimapOverlay;import android.app.Activity;import android.graphics.Color;import android.os.Bundle;/** *  * 在osmdroid中 1.添加线路图层  *    2.添加小地图图层 *             3.跟踪当前位置移动 *  *  * @Title: * @Description: 实现TODO * @Copyright:Copyright (c) 2011 * @Company: * @Date:2012-8-24 * @author longgangbai * @version 1.0 */public class GeoServerosmdroidActivity extends Activity {private MapView mMapView;private MapController mMapController;int mIncr = 10000;@Overridepublic void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.main);mMapView = (MapView) findViewById(R.id.mapview);mMapView.setTileSource(TileSourceFactory.MAPNIK);mMapView.setBuiltInZoomControls(true);mMapView.setMultiTouchControls(true);mMapController = mMapView.getController();mMapController.setZoom(13);//定位当前位置MyLocationOverlay mylocationLayer=new MyLocationOverlay(GeoServerosmdroidActivity.this,mMapView);mMapView.getOverlays().add(mylocationLayer);mylocationLayer.enableCompass();mylocationLayer.enableFollowLocation();mylocationLayer.enableMyLocation();//缩放图层ScaleBarOverlay scalebar=new ScaleBarOverlay(GeoServerosmdroidActivity.this);mMapView.getOverlays().add(scalebar);//SimpleLocationOverlay simpleLocation=new SimpleLocationOverlay(GeoServerosmdroidActivity.this);mMapView.getOverlays().add(simpleLocation);//小地图MinimapOverlay minmap=new MinimapOverlay(GeoServerosmdroidActivity.this,mMapView.getHandler());mMapView.getOverlays().add(minmap);//线路每段的坐标GeoPoint gPt0 = new GeoPoint(51500000, -150000); GeoPoint gPt1 = new GeoPoint(gPt0.getLatitudeE6() + mIncr,gPt0.getLongitudeE6());GeoPoint gPt2 = new GeoPoint(gPt0.getLatitudeE6() + mIncr,gPt0.getLongitudeE6() + mIncr);GeoPoint gPt3 = new GeoPoint(gPt0.getLatitudeE6(),gPt0.getLongitudeE6() + mIncr);mMapController.setCenter(gPt0);//线路PathOverlay myPath = new PathOverlay(Color.RED, this);myPath.addPoint(gPt0);myPath.addPoint(gPt1);myPath.addPoint(gPt2);myPath.addPoint(gPt3);myPath.addPoint(gPt0);mMapView.getOverlays().add(myPath);}}

?

?

主要配置:

<?xml version="1.0" encoding="utf-8"?><manifest xmlns:android="http://schemas.android.com/apk/res/android"    package="com.easyway.osmdroid"    android:versionCode="1"    android:versionName="1.0" >    <uses-sdk android:minSdkVersion="8" />    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>     <uses-permission android:name="android.permission.INTERNET"/>     <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />     <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />     <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>      <application     android:icon="@drawable/ic_launcher"             android:label="@string/app_name" >             <activity         android:name="GeoServerosmdroidActivity"                     android:label="@string/app_name" >                     <intent-filter>                             <action android:name="android.intent.action.MAIN" />                              <category android:name="android.intent.category.LAUNCHER" />         </intent-filter>     </activity> </application> </manifest>

?

?

布局文件:

<?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"    android:layout_width="fill_parent"    android:background="#FFFFFF"    android:id="@+id/geoserver_layout"    android:layout_height="fill_parent" >    <org.osmdroid.views.MapView        android:id="@+id/mapview"        android:layout_width="fill_parent"        android:layout_height="fill_parent"        android:clickable="true"        android:enabled="true"        /></RelativeLayout>

?

热点排行