首先要集成百度地图所需要的包,
在mainfest设置权限< uses-permission android :name= "android.permission.INTERNET" />< uses-permission android :name= "android.permission.SEND_SMS" />< uses-permission android :name= "android.permission.ACCESS_NETWORK_STATE" ></ uses-permission >< uses-permission android :name= "android.permission.ACCESS_FINE_LOCATION" ></ uses-permission >< uses-permission android :name= "android.permission.WRITE_EXTERNAL_STORAGE" ></ uses-permission >< uses-permission android :name= "android.permission.ACCESS_WIFI_STATE" ></ uses-permission >< uses-permission android :name= "android.permission.CHANGE_WIFI_STATE" ></ uses-permission >< uses-permission android :name= "android.permission.READ_PHONE_STATE" ></ uses-permission >实现通过两个类,一个BaiduMapActivity ,打开百度地图,一个图标类package com.example.twtje0304.baidumapactivity;import android.os.Bundle;import android.support.design.widget.FloatingActionButton;import android.support.design.widget.Snackbar;import android.support.v7.app.AppCompatActivity;import android.support.v7.widget.Toolbar;import android.view.View;import android.view.Menu;import android.view.MenuItem;import java.util.List;import android.graphics.Bitmap;import android.graphics.BitmapFactory;import android.os.Bundle;import android.view.Window;import com.*;import com.baidu.mapapi.BMapManager;import com.baidu.mapapi.GeoPoint;import com.baidu.mapapi.MapActivity;import com.baidu.mapapi.MapController;import com.baidu.mapapi.MapView;import com.baidu.mapapi.Overlay;/*** @author zhangzhibing*/public class BaiduMapActivity extends MapActivity {/** Called when the activity is first created. */private MapView bmapsView ;private Bitmap posBitmap ;private BMapManager mBMapMan = null ;private MapController controller ;private String location ;@Overridepublic void onCreate(Bundle savedInstanceState) {super .onCreate(savedInstanceState);requestWindowFeature(Window. FEATURE_INDETERMINATE_PROGRESS );setContentView(R.layout. present_gps );mBMapMan = new BMapManager(getApplication());//13605834F4A4934B09861654E32184A694FC5D0C 是获取的baidu api key,一定要自己获取,别人的不用,一个key只能对应一个apk。mBMapMan .init( "13605834F4A4934B09861654E32184A694FC5D0C" , null );super .initMapActivity( mBMapMan );location =getIntent().getStringExtra( "location" );posBitmap = BitmapFactory. decodeResource (getResources(), R.drawable. pos );bmapsView = (MapView) findViewById(R.id. bmapsView );controller = bmapsView .getController();bmapsView .setBuiltInZoomControls( true );// double lng=Double.valueOf(location.split(",")[0]);// double lat=Double.valueOf(location.split(",")[1]);double lng= 112 ;double lat= 34 ;//lat、lng代表经纬度。updateMapView(lat,lng);}@Overrideprotected boolean isRouteDisplayed() {// TODO Auto-generated method stubreturn false ;}private void updateMapView( double lng, double lat) {GeoPoint gp = new GeoPoint(( int ) (lat * 1E6 ), ( int ) (lng * 1E6 ));bmapsView .displayZoomControls( true );controller .animateTo(gp);controller .setCenter(gp);controller .setZoom( 12 );List<Overlay> ol = bmapsView .getOverlays();ol.clear();ol.add( new PosOverLay(gp, posBitmap ));}@Overrideprotected void onDestroy() {if ( mBMapMan != null ) {mBMapMan .destroy();mBMapMan = null ;}super .onDestroy();}@Overrideprotected void onPause() {if ( mBMapMan != null ) {mBMapMan .stop();}super .onPause();}@Overrideprotected void onResume() {if ( mBMapMan != null ) {mBMapMan .start();}super .onResume();}}package com.example.twtje0304.baidumapactivity;import android.graphics.Bitmap;import android.graphics.Canvas;import android.graphics.Point;import com.baidu.mapapi.GeoPoint;import com.baidu.mapapi.MapView;import com.baidu.mapapi.Overlay;import com.baidu.mapapi.Projection;public class PosOverLay extends Overlay {Bitmap posBitmap ;GeoPoint gp ;public PosOverLay(GeoPoint gp, Bitmap posBitmap) {super ();this . gp = gp;this . posBitmap = posBitmap;}@Overridepublic void draw(Canvas canvas, MapView mapView, boolean shadow) {if (!shadow) {Projection proj = mapView.getProjection();Point p = new Point();proj.toPixels( gp , p);canvas.drawBitmap( posBitmap , p. x - posBitmap .getWidth() / 2 , p. y - posBitmap .getHeight(), null );}}}
百度地图开发
最新推荐文章于 2023-09-26 18:39:22 发布