全國 切換城市 商家入駐地圖中心可將您的門店企業信息添加到地圖上,也可修改刪除認領,全部信息一目了然的在地圖上顯示出來!
        南遷地圖標注客服

        android地圖怎么發送位置信息

        萌萌噠

        萌萌噠

        Android 開發過程中,有很多手勢操作都很讓人又愛又恨。一方面可以更便捷的體現更多功能,提升應用的體驗,一方面繁復多變的操作背后有著許多開發技巧和難題。這里分享一個長按地圖獲取位置信息的手勢。為了更明了,先上個展示效果:長按地圖某點顯示該點地理位置信息功能通過構造一個locationSelectOverlay類來定義該功能,在地圖上對長按手勢進行監聽,一旦有這個發生就調用getAddressFromServer()方法來顯示地址信息。在該工程中分別定義4個類longPressMap.java,locationSelectOverlay.java,popUpPanel.java,Constants.javalongPressMap.java 為顯示一個地圖類,通過實例化一個locationSelectOverlay類實現長按地圖顯示地理位置信息功能代碼如下://longPressMap 類繼承MapActivity對mapview資源進行管理public class longPressMap extends MapActivity {private MapView mMapView;locationSelectOverlay mSelectLay;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);//使用setContentView方法調用R.layout.activity_regeocoder布局文件,顯示地圖setContentView(R.layout.geocoder);//獲取地圖視圖的id,賦值給mMapView mMapView = ((MapView) findViewById(R.id.geocode_MapView));// 設置啟用內置的縮放控件mMapView.setBuiltInZoomControls(true); //實例化一個locationSelectOverlay類mSelectLay = new locationSelectOverlay(this, mMapView, new popUpPanel(this, mMapView));//將該功能加載到此地圖上,啟用長按地圖顯示該點地址信息的功能mMapView.getOverlays().add(mSelectLay);} }復制代碼locationSelectOverlay 示例代碼如下://locationSelectOverlay類繼承Overlay接口,實現OnGestureListener手勢監聽public class locationSelectOverlay extends Overlay implements OnGestureListener {public popUpPanel mTipPanel; //聲明一個彈出框對象GeoPoint mSelectPoint; //聲明一個地理坐標點對象MapView mMapView; //聲明一個地圖視圖對象Context mContext; //活動對象TextView mTipText=null; //聲明一個文本對象private static String nearbystr="";private GestureDetector gestureScanner; //聲明一個手勢監聽對象private Geocoder coder; //聲明一個逆地理編碼對象private String addressName=""; //聲明一個地址名稱字符串//長按地圖某點獲取信息的構造函數。public locationSelectOverlay(Activity context,MapView mapView,popUpPanel panel){this.mContext=context; this.mMapView=mapView;this.mTipPanel=panel; gestureScanner = new GestureDetector(this); //聲明一個手勢監聽對象coder = new Geocoder(context); //聲明一個逆地理編碼對象}//用Handler函數處理傳遞來的地址信息,顯示在文本框中private Handler mGeocoderHandler = new Handler(){public void handleMessage(Message msg){//如果有地址信息的消息發送過來,將文本框中設置為該地址信息if(msg.what == Constants.REOCODER_RESULT){if(mTipText!=null)mTipText.setText(addressName);}//如果顯示錯誤,則文本框中設置報錯信息else if(msg.what == Constants.ERROR){Toast.makeText(mContext, "獲取地址失敗,請重試", Toast.LENGTH_SHORT).show();removeTipPanel();}}};//顯示彈出窗口public boolean showTap(GeoPoint p) {View view = mTipPanel.getView();mMapView.removeView(view);//布局參數設置MapView.LayoutParams geoLP = new MapView.LayoutParams(MapView.LayoutParams.WRAP_CONTENT,MapView.LayoutParams.WRAP_CONTENT, p,MapView.LayoutParams.BOTTOM_CENTER);//彈出窗口的文本顯示mTipText = (TextView) view.findViewById(R.id.GeoName);mTipText.setText("正在加載地址...");mTipText.setOnClickListener(new OnClickListener() {public void onClick(View v) {}});//在地圖視圖上添加該彈出窗口視圖mMapView.addView(view, geoLP);return false;}//從經緯度坐標點獲取對應的地址信息public void getAddressFromServer(final GeoPoint nt,final Handler handler){//聲明一個線程new Thread(){public void run(){try {// 逆地理編碼getFromLocation()函數獲取該點對應的前3個地址信息List<Address> address = coder.getFromLocation((double)nt.getLatitudeE6()/1E6,(double)nt.getLongitudeE6()/1E6, 3);if (address != null) {//獲取第一個地址信息Address addres = address.get(0);addressName = "";if(addres.getAdminArea()!=null)addressName+=addres.getAdminArea();if(addres.getSubLocality()!=null)addressName += addres.getSubLocality();if(addres.getFeatureName()!=null)addressName += addres.getFeatureName();addressName += "附近";handler.sendMessage(Message.obtain(handler, Constants.REOCODER_RESULT));}} catch (AMapException e) {// TODO Auto-generated catch blockhandler.sendMessage(Message.obtain(handler, Constants.ERROR));}}}.start(); //線程啟動}//移走彈出窗口public void removeTipPanel(){ View view = mTipPanel.getView();mMapView.removeView(view);}//獲取手勢操作public boolean onTouchEvent(MotionEvent event, MapView mapView) {return gestureScanner.onTouchEvent(event);}@Overridepublic boolean onDown(MotionEvent e) {// TODO Auto-generated method stubreturn false;}@Overridepublic boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX,float velocityY) {// TODO Auto-generated method stubreturn false;}//長按地圖,彈出提示框,顯示該點地址信息@Overridepublic void onLongPress(MotionEvent e) {// TODO Auto-generated method stubint x = (int)e.getX();int y = (int)e.getY();mSelectPoint = mMapView.getProjection().fromPixels(x, y);//調用顯示提示框函數showTap(mSelectPoint);//調用從經緯度點獲取地址信息函數getAddressFromServer(mSelectPoint,mGeocoderHandler);}@Overridepublic boolean onScroll(MotionEvent e1, MotionEvent e2, float distanceX,float distanceY) {// TODO Auto-generated method stubreturn false;}復制代碼pouUpPanel定義了彈出窗口類public class popUpPanel{private boolean isVisible = false;private MapView mMapView;private View popup;public popUpPanel(Activity paramActivity, MapView paramMapView){this.mMapView = paramMapView;ViewGroup localViewGroup = (ViewGroup)this.mMapView.getParent();//設置彈出的視圖是id為R.layout.activity_long_press_map的視圖this.popup = paramActivity.getLayoutInflater().inflate(R.layout.activity_long_press_map, localViewGroup, false);…復制代碼Constants定義了傳遞的常量對應的值,如public static finalint REOCODER_RESULT=3000; 表示逆地理編碼結果常量,public staticfinal int ERROR=1001; 表示出現錯誤常量。
        實現地圖定位添加什么權限

        方肥寶

        方肥寶

        定位權限,定位:通過網絡或者衛星對您的手機定位<--這個選項。

        2021-09-23 17:39:57 810查看 2回答

        地圖for 不是免費的嗎?

        157643

        157643

        :因為快速的沖泡是無釋出茶葉的芳香,一般專業的茶罐上,回都會專業答的標示出茶葉的濃度大小(Strength,即強度),這關乎到茶葉沖泡悶的時間。例如:濃度分為1-4級,1為最弱,4為最強),沖泡時間則是從2分鐘到3分半鐘,依次遞減。6.將壺內沖泡好的茶湯,倒入你...

        2021-09-23 17:45:18 525查看 4回答

        為什么Android地圖不要錢iphone卻要錢

        貝小魚 ?

        貝小魚 ?

        我在AppStore地圖不要錢啊,搜索,有一個免費導航版,可以在線導航,也可以離線地圖包,導航還有。

        2021-09-23 17:45:18 643查看 6回答

        fragment中可不可以實現地圖

        2021-09-23 17:51:32 440查看 2回答

        studio地圖加載離線地圖如何做

        2021-09-23 17:51:37 571查看 2回答

        地圖怎么發送位置信息

        2021-09-23 17:53:14 458查看 2回答

        地圖糾偏和添加移動指示器

        2021-09-23 17:53:14 521查看 2回答

        開發地圖怎樣把當前位置設為圓的中心?

        2021-09-23 17:53:51 537查看 0回答

        最新知識

        公司地址認領搜狗地圖標注多久審核?公司地址認領地圖標注多久審核?

        小編為您整理我在地圖上標注審核認領需要多久、我在地圖上標注審核認領需要多久y、我在地圖上標注審核認領需要多久i、我在地圖上標注審核認領需要多久Y、搜狗地圖標注要多久才顯示相關地圖標注知識,詳情可查看下方正文!

        公司地址如何入駐花小豬打車地圖標記?指路人地圖標注服務中心鋪如何入駐花小豬打車地圖標記?

        小編為您整理美團商家如何入駐,商家入駐教程、商家如何入駐地圖、如何入駐地:、養殖營業執照如何入駐地圖、家政公司如何入駐美團相關地圖標注知識,詳情可查看下方正文!

        門指路人地圖標注服務中心如何做花小豬打車地圖位置標記?門指路人地圖標注服務中心花小豬打車地圖位置地址標記?

        小編為您整理如何做地圖標記、地圖如何做標記、so搜街景中如何做標記、360e啟花貸款申請通過了是要去到門指路人地圖標注服務中心辦理手續的嗎、哪些軟件能實現在地圖上標記門指路人地圖標注服務中心位置相關地圖標注知識,詳情可查看下方正文!

        門指路人地圖標注服務中心地圖位置地址標記?門指路人地圖標注服務中心蘋果地圖位置地址標記?

        小編為您整理哪些軟件能實現在地圖上標記門指路人地圖標注服務中心位置、門指路人地圖標注服務中心地址標注、如何創建門指路人地圖標注服務中心定位地址、如何創建門指路人地圖標注服務中心定位地址、服裝門指路人地圖標注服務中心地址標注上地圖怎么弄相關地圖標注知識,詳情可查看下方正文!

        凱立德地圖位置定位怎么設置自己的指路人地圖標注服務中心名?凱立德地圖位置定位怎么設置公司地址?

        小編為您整理凱立德怎么定位自己的位置啊、手機凱立德地圖定位怎么設置往上走、地圖位置定位怎么設置自己的指路人地圖標注服務中心名、凱立德手機版如何定位自己的位置,求助、凱立德導航怎么設置指路人地圖標注服務中心鋪招牌相關地圖標注知識,詳情可查看下方正文!

        最新問答
        熱門專題
        主站蜘蛛池模板: 少妇人妻偷人精品一区二区| 日本成人一区二区| 视频精品一区二区三区| 国产精品99无码一区二区| 综合无码一区二区三区四区五区| 加勒比无码一区二区三区| 激情爆乳一区二区三区| 亚洲国产欧美国产综合一区| 一区 二区 三区 中文字幕 | 国产丝袜视频一区二区三区| 精品国产日韩一区三区| 日本一区午夜艳熟免费| 视频一区二区三区免费观看| 精品无码综合一区二区三区| 国产一区二区久久久| 亚洲欧美国产国产综合一区| 国产在线无码视频一区二区三区| 日亚毛片免费乱码不卡一区| 无码AV动漫精品一区二区免费| 国产精品资源一区二区| 一区二区三区无码被窝影院| 欧美日韩国产免费一区二区三区 | 交换国产精品视频一区| 亚洲综合色自拍一区| 日韩精品人妻一区二区中文八零 | 中文字幕精品一区二区2021年 | 污污内射在线观看一区二区少妇 | 人妻无码视频一区二区三区 | 国模极品一区二区三区| 濑亚美莉在线视频一区| 精品国产一区二区三区久久蜜臀| 午夜福利国产一区二区| 日韩人妻精品无码一区二区三区 | 国产精品视频一区二区三区不卡 | 99热门精品一区二区三区无码 | 午夜福利无码一区二区| 国产免费一区二区视频| 日韩免费视频一区| 一区二区视频传媒有限公司| 亚洲一区无码中文字幕乱码| 视频在线观看一区|