package com.example.locationmap;
import com.baidu.mapapi.SDKInitializer;
import com.baidu.mapapi.map.BaiduMap;
import com.baidu.mapapi.map.BitmapDescriptor;
import com.baidu.mapapi.map.BitmapDescriptorFactory;
import com.baidu.mapapi.map.MapStatus;
import com.baidu.mapapi.map.MapStatusUpdate;
import com.baidu.mapapi.map.MapStatusUpdateFactory;
import com.baidu.mapapi.map.MapView;
import com.baidu.mapapi.map.MarkerOptions;
import com.baidu.mapapi.map.OverlayOptions;
import com.baidu.mapapi.model.LatLng;
import com.baidu.nplatform.comapi.basestruct.GeoPoint;
import android.hardware.GeomagneticField;
import android.location.Geocoder;
import android.location.Location;
import android.location.LocationListener;
import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.RadioGroup;
import android.widget.RadioGroup.OnCheckedChangeListener;
public class MainActivity extends Activity {
private Button locationButton;
private MapView mapView;
private RadioGroup mapType;
private BaiduMap map;
private EditText latitude,longitude;
private double x ,y;
private LatLng point;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
SDKInitializer.initialize(getApplicationContext());
setContentView(R.layout.activity_main);
mapView = (MapView) findViewById(R.id.baidumap);
mapType = (RadioGroup) findViewById(R.id.mapType);
locationButton = (Button) findViewById(R.id.button);
map = mapView.getMap();
mapType.setOnCheckedChangeListener(new OnCheckedChangeListener() {
@Override
public void onCheckedChanged(RadioGroup group, int checkedId) {
switch (checkedId) {
case R.id.normal:
map.setMapType(BaiduMap.MAP_TYPE_NORMAL);
break;
case R.id.satellite:
map.setMapType(BaiduMap.MAP_TYPE_SATELLITE);
break;
}
}
});
}
public void getLocation(View view){
latitude = (EditText) findViewById(R.id.latitudeEt);
longitude = (EditText) findViewById(R.id.longitudeEt);
x = Double.parseDouble(latitude.getText().toString().trim());
y = Double.parseDouble(longitude.getText().toString().trim());
System.out.println("latitude="+x+";longitude="+y);
point = new LatLng(x,y);
BitmapDescriptor icon = BitmapDescriptorFactory.fromResource(R.drawable.icon_marka);
OverlayOptions options = new MarkerOptions().icon(icon).position(point);
map.addOverlay(options);
//GeoPoint geoPoint = new GeoPoint((int)(x * 1E6), (int)(y*1E6));
//设定中心点坐标
//LatLng cenpt = new LatLng(30.663791,104.07281);
//定义地图状态
MapStatus mMapStatus = new MapStatus.Builder()
.target(point)
.zoom(12)
.build();
//定义MapStatusUpdate对象,以便描述地图状态将要发生的变化
MapStatusUpdate mMapStatusUpdate = MapStatusUpdateFactory.newMapStatus(mMapStatus);
//改变地图状态
map.setMapStatus(mMapStatusUpdate);
}
}
代码下载地址:
http://download.csdn.net/detail/shdhenghao3/7718367