您的位置:首页 > 其它

高德地图根据经纬度定位

2015-11-28 12:47 323 查看
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):视图变换事件
*/
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: