1. 程式人生 > >高德地圖根據經緯度定位

高德地圖根據經緯度定位

package com.example.gaoegps;


import com.amap.api.location.AMapLocation;
import com.amap.api.location.AMapLocationListener;
import com.amap.api.location.LocationManagerProxy;
import com.amap.api.location.LocationProviderProxy;
import com.amap.api.maps.AMap;
import com.amap.api.maps.CameraUpdate;
import com.amap.api.maps.CameraUpdateFactory;
import com.amap.api.maps.LocationSource;
import com.amap.api.maps.MapView;
import com.amap.api.maps.UiSettings;
import com.amap.api.maps.LocationSource.OnLocationChangedListener;
import com.amap.api.maps.model.BitmapDescriptorFactory;
import com.amap.api.maps.model.CameraPosition;
import com.amap.api.maps.model.LatLng;
import com.amap.api.maps.model.Marker;
import com.amap.api.maps.model.MarkerOptions;


import android.location.Location;
import android.os.Bundle;
import android.app.Activity;
import android.util.Log;
import android.view.Menu;






public class LatlngActivity extends Activity implements LocationSource,AMapLocationListener {
 private MapView mapView;
   private AMap aMap;
private UiSettings mUiSettings;
private CameraUpdate mUpdata;
Marker marker;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_latlng);
mapView = (MapView) findViewById(R.id.mapView1);
       mapView.onCreate(savedInstanceState);// 必須要寫
       init();
}
/**
    * 初始化AMap物件
    */
   private void init() {
       if (aMap == null) {
           aMap = mapView.getMap();
mUiSettings = aMap.getUiSettings();
mUiSettings.setZoomControlsEnabled(false);
mUiSettings.setCompassEnabled(true);
mUpdata = CameraUpdateFactory.newCameraPosition(
//15是縮放比例,0是傾斜度,30顯示比例
new CameraPosition(new LatLng(40.043212,116.299728), 15, 0, 30));//這是地理位置,就是經緯度。
   aMap.moveCamera(mUpdata);//定位的方法
   drawMarkers();
       }
   }
    public void drawMarkers() {
    
   Marker marker = aMap.addMarker(new MarkerOptions()
   .position(new LatLng(40.043212,116.299728))
   .title("八維")
   .icon(BitmapDescriptorFactory
   .defaultMarker(BitmapDescriptorFactory.HUE_AZURE))
   .draggable(true));
   marker.showInfoWindow();// 設定預設顯示一個infowinfow
   }





/**
    * 方法必須重寫
    */
   @Override
   protected void onResume() {
       super.onResume();
       mapView.onResume();
   }
 
   /**
    * 方法必須重寫
    */
   @Override
   protected void onPause() {
       super.onPause();
       mapView.onPause();
   }
    
   /**
    * 方法必須重寫
    */
   @Override
   protected void onSaveInstanceState(Bundle outState) {
       super.onSaveInstanceState(outState);
       mapView.onSaveInstanceState(outState);
   }
 
   /**
    * 方法必須重寫
    */
   @Override
   protected void onDestroy() {
       super.onDestroy();
       mapView.onDestroy();
   }
@Override
public void onLocationChanged(Location location) {
// TODO Auto-generated method stub


}
@Override
public void onStatusChanged(String provider, int status, Bundle extras) {
// TODO Auto-generated method stub

}
@Override
public void onProviderEnabled(String provider) {
// TODO Auto-generated method stub

}
@Override
public void onProviderDisabled(String provider) {
// TODO Auto-generated method stub

}
@Override
public void onLocationChanged(AMapLocation amapLocation) {
// TODO Auto-generated method stub

}
@Override
public void activate(OnLocationChangedListener arg0) {
// TODO Auto-generated method stub

}
@Override
public void deactivate() {
// TODO Auto-generated method stub

}
/*
* UIsettings
* 對於高德地圖的logo,我們通過UIsettings.setLogoPosition(AMapOptions)來設定LOGO的位置:


對於其中的的AMapOptions,有幾個常量來表示圖示的位置,分別表示底線左邊,中心和右邊:




AMapOptions.LOGO_POSITION_BOTTOM_LEFT;
AMapOptions.LOGO_POSITION_BOTTOM_CENTER;
AMapOptions.LOGO_POSITION_BOTTOM_RIGHT;
》LocationButton(定位按鈕)


通過UISettings.setMyLocationButtonEnabled(boolean)來設定是否顯示定位按鈕;


除此之外,還可以通過UISettings.setMyLocationEnabled(boolean)來設定是否能使用定位服務;






》ZoomControls(縮放按鈕)


通過UISettings.setZoomControlsEnabled(boolean)來設定縮放按鈕是否能顯示


》Compass(指南針)


通過iUISettings.setCompassedEnabled(boolean enabled)來設定是否顯示和使用指南針:




》ScaleControls(比例尺)


通過UISettings.setScaleControlEnabled(Boolean enabled)來設定是否顯示啟用比例尺功能:


》ZoomGestures(縮放手勢)


通過UISettings.setZoomGesturesEnabled(boolean)設定縮放手勢是否啟用:






》TiltGestures(傾斜手勢)


通過UISettings.setTiltGesturesEnabled(boolean)設定傾斜手勢是否啟用:






》RotateGestures旋轉手勢:


通過UISettings.setRotateGesturesEnabled(boolean)設定傾斜手勢是否啟用:




除此之外,Amap哈有幾個常用的監聽器:
AMap.setOnMapClickListener(OnMapCLickListener):點選事件
AMap.setOnMapLongClickListener(OnMaplongClickListener):長按事件
AMap.setOnCameraChangeListener(OnCameraChangeListener):檢視變換事件
*/
}

相關推薦

地圖根據經緯度定位

package com.example.gaoegps; import com.amap.api.location.AMapLocation; import com.amap.api.location.AMapLocationListener; import com.ama

地圖根據經緯度陣列獲取所有的點標記

具體效果: 放大後: 具體程式碼如下: <!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta http-equiv="X-UA-C

地圖-根據經緯度獲取地址(逆地理編碼)

2.根據經緯度得到具體地址: 1.這裡需要用到地圖搜尋SDK; 2.通過逆地理編碼來實現。 3.示例程式碼: @Override protected void o

使用地圖根據經緯度畫出路線、計算收錄路線的總距離、使用第三方工具獲取座標資訊

寫在前面:        最近手裡有一個專案 專案面向的使用群體是公路管理方 大概的主要功能簡概如下 收錄正在修建 / 剛剛修建完畢 / 未被第三方地圖收錄的路線(使用者可以手機記錄新的路線 收錄在自己的平臺裡 但手機記錄弊端過大 還是

地圖通過經緯度定位並打上標記

由於現在的專案有個部分需要給出經緯度然後在地圖顯示對應的座標,並打上標記,現在專案比較趕,沒有太多時間去研究這個,所以先記錄下 <div id="container" style="width:400px; height:300px"></div>

地圖根據輸入地址查詢軌跡路線以及獲取到所有的路線上的經緯度

來看看效果吧: 具體程式碼如下: <!doctype html> <html> <head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" con

地圖 SDK整合 定位 地理編碼 搜尋 經緯度獲取 功能工具類

最近專案要整合高德地圖,然後可以根據語音輸入指令,進行定位和地理編碼搜尋功能,從而實現獲取當前位置經緯度和根據地址獲取經緯度的功能 下載檔案之只放了libs和主要程式碼檔案 第一步 首先,得整合高德地圖:(可看木子的高德地圖整合) 第二步

基於地圖根據地址名稱返回對應的經緯度

    在吹水之前,首先先感謝阿里巴巴所提供的高德地圖服務,沒有阿里巴巴,那接下來的逼我也裝不了。    寫這篇部落格的緣由,原因是我閒的慌,想搞點事情。因為工作中,有這麼一個需求,需要根據一系列的具體地址,返回所對應的經緯度。    閒話少說,老樣子,先上程式碼。沒上程式碼

java地圖根據座標與具體地址互轉,計算兩地距離

package com.shineyoo.common.utils; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import java.io.BufferedReade

【Android】地圖根據2個座標智慧縮放地圖

需求: 在地圖上給定2個座標點,然後將2個座標點通過縮放都能顯示出來。 實現: 通過查閱高德地圖接入文件和API能找到縮放的API高德地圖文件,看到以下說明 限制地圖的顯示範圍 從地圖 SDK V4.1.0 起新增了設定地圖顯示範圍的方法,手機螢幕僅顯示設定的地圖

地圖開發加定位

1.首先第一步先加入依賴 //3D地圖so及jar implementation 'com.amap.api:3dmap:latest.integration' //定位功能 implementation 'com.amap.api:location:latest.inte

實現地圖後臺持續定位

 高德地圖實現在後臺持續定位,當然需要服務,但是現在已經無法在殺死APP的時候仍然持續獲取了,我這種形式只能在APP沒被殺死的時候持續獲取,獲取到定位資訊後你可以回調出去,下面就是我這個服務 public class LocationService extends Service {

Android 地圖SDK(定位

1,高德控制檯申請key網址http://lbs.amap.com/dev/#/ 參考http://blog.csdn.net/mwh613245/article/details/52456300 1)SHA1是Android簽名檔案keystore獲取的,

地圖SDK整合---定位

高德的API文件寫得很詳細,閱讀起來很流暢,在整合的時候大部分問題在文件中都已經有解決方案了,今天寫此文章的目的是為了記錄一下完整的整合方案,以便於自己下次能跟快速的在進行整合。 1.註冊成為開發者(略) 2.獲取Key 開啟應用管理 建立新應用 在應

移動端開發APPCAN呼叫地圖API實現定位等功能

最近專案在做移動端,做了點地圖應用,發現網上案例比較少,研究之後,給小夥伴們分享一份:看看程式碼吧,有不同的,call我嘍:<!doctype html><html><head>  <meta charset="UTF-8"> 

使用地圖API無法定位

問題情境:第一次匯入專案,執行後發現無法定位。 原因:申請API時使用的SHA1值與本機的SHA1值不同 因為Android系統要求所有程式都需要經過數字簽名才可以安裝,假如沒有可用的數字簽名則不可以安裝執行此程式。為了方便程式設計師除錯,IDE會預

地圖全解析--定位

之前使用的是百度地圖的定位功能,不知道什麼原因註冊的時候總是失敗,而且JAR和SO的匹配也弄的我十分蛋疼,最後換了最新的JAR和SO依然不好使,回撥函式一直失敗,究竟是為了什麼,我也不知道。反正結果是我醉了ORZ。 但是那條條大陸通羅馬吧,啟用高德定位,這貨好

Android簡單實現地圖顯示及定位

1、要實現高德地圖的定位,首先要下載高德地圖的SDK 下載地址:http://lbs.amap.com/api/android-location-sdk/download/ 然後在高德地圖官網上登入你註冊的賬號並且去控制檯

Android地圖實現後臺定位

在專案當中,很多時候都會用到地圖,百度地圖是我們經常用的,下面我給大家用高德地圖實現後臺定位,這樣可以實現軌跡的路線: public class LocationService extends Service { //宣告mLocationOption物件,定位引

一頁程式碼實現地圖顯示自己定位,以及Marker標記點顯示(文末有福利哦)

import android.Manifest; import android.content.pm.PackageManager; import android.location.Location; import android.os.Bundle; import andr