日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

android 百度地图3.0,android 百度地图3.0

發(fā)布時(shí)間:2023/12/9 编程问答 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 android 百度地图3.0,android 百度地图3.0 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

一:為地圖設(shè)置事件

注意新版本中要有一個(gè)getMap

mMapView.getMap().setOnMapStatusChangeListener(listener);

OnMapStatusChangeListener?listener?=newOnMapStatusChangeListener()?{

/**

*?手勢操作地圖,設(shè)置地圖狀態(tài)等操作導(dǎo)致地圖狀態(tài)開始改變。

*?@param?status?地圖狀態(tài)改變開始時(shí)的地圖狀態(tài)

*/

publicvoidonMapStatusChangeStart(MapStatus?status){

}

/**

*?地圖狀態(tài)變化中

*?@param?status?當(dāng)前地圖狀態(tài)

*/

publicvoidonMapStatusChange(MapStatus?status){

}

/**

*?地圖狀態(tài)改變結(jié)束

*?@param?status?地圖狀態(tài)改變結(jié)束后的地圖狀態(tài)

*/

publicvoidonMapStatusChangeFinish(MapStatus?status){

}

};

二:經(jīng)緯度轉(zhuǎn)化為屏幕中的坐標(biāo)

//LatLng?p2?=?new?LatLng(39.94923,?116.397428);

LatLng?p2?=?mMarkerA.getPosition();

Point?pt?=mMapView.getMap().getProjection().toScreenLocation(p2);

System.out.println("轉(zhuǎn)化為屏幕坐標(biāo)?x:"+pt.x+"?y:"+pt.y);

三:屏幕中坐標(biāo)轉(zhuǎn)化為經(jīng)緯度

LatLng?ll?=?mMapView.getMap().getProjection().fromScreenLocation(pt);

LatLng?p2?=?mMarkerA.getPosition();

Point?pt?=mMapView.getMap().getProjection().toScreenLocation(p2);

System.out.println("轉(zhuǎn)化為屏幕坐標(biāo)?x:"+pt.x+"?y:"+pt.y);

LatLng?ll?=?mMapView.getMap().getProjection().fromScreenLocation(pt);

System.out.println("轉(zhuǎn)化的經(jīng)緯度?x:"+ll.latitude+"?y:"+ll.longitude);

四:得到手機(jī)屏幕,左上,左下,右上,右下經(jīng)緯度

可以更具屏幕坐標(biāo)轉(zhuǎn)經(jīng)緯度的方法輕松拿到左上,左下,右上,右下經(jīng)緯度

1:得到屏幕坐標(biāo)就是寬高

DisplayMetrics?dm?=newDisplayMetrics();

getWindowManager().getDefaultDisplay().getMetrics(dm);

intMax_X=dm.widthPixels;

intMax_Y=dm.heightPixels;

System.out.println("屏幕寬:"+Max_X+"?高:"+Max_Y);

2:得到左上角坐標(biāo)

Point?pt?=newPoint();

pt.x=0;

pt.y=0;

LatLng?ll?=?mMapView.getMap().getProjection().fromScreenLocation(pt);

System.out.println("左上角經(jīng)緯度?x:"+ll.latitude+"?y:"+ll.longitude);

3.得到右下角經(jīng)緯度

DisplayMetrics?dm?=newDisplayMetrics();

getWindowManager().getDefaultDisplay().getMetrics(dm);

Point?pty?=?newPoint();

pty.x=dm.widthPixels;

pty.y=dm.heightPixels;

LatLng?lly?=????mMapView.getMap().getProjection().fromScreenLocation(pty);

System.out.println("右下角經(jīng)緯度?x:"+lly.latitude+"?y:"+lly.longitude);

五:覆蓋物角度旋轉(zhuǎn)

使用方法rotate即可

LatLng?p2?=newLatLng(39.94923,116.397428);

OverlayOptions?ooA?=?newMarkerOptions().position(p2).icon(bdA).rotate(-30);

mMarkerA?=?(Marker)?(mBaiduMap.addOverlay(ooA));

六:設(shè)置中心的,縮放級別

//初始化地圖

MapView mMapView = (MapView) findViewById(R.id.map);

BaiduMap mBaidumap = mMapView.getMap();

//設(shè)定中心點(diǎn)坐標(biāo)

LatLng cenpt = new LatLng(29.806651,121.606983);

//定義地圖狀態(tài)

MapStatus mMapStatus = new MapStatus.Builder()

.target(cenpt)

.zoom(18)

.build();

//定義MapStatusUpdate對象,以便描述地圖狀態(tài)將要發(fā)生的變化

MapStatusUpdate mMapStatusUpdate = MapStatusUpdateFactory.newMapStatus(mMapStatus);

//改變地圖狀態(tài)

mBaidumap.setMapStatus(mMapStatusUpdate);

七:覆蓋物彈出層效果

1:可以使用Dialog使用懸浮彈出層效果

手機(jī)屏幕小一般這種方式更fit

總結(jié)

以上是生活随笔為你收集整理的android 百度地图3.0,android 百度地图3.0的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。