Android Google 地图学习
主要代码如下:
package com.easyway.android.google;import java.io.IOException;
import java.util.List;
import java.util.Locale;import android.app.AlertDialog;
import android.app.AlertDialog.Builder;
import android.content.Context;
import android.content.DialogInterface;
import android.location.Address;
import android.location.Criteria;
import android.location.Geocoder;
import android.location.Location;
import android.location.LocationManager;
import android.os.Bundle;
import android.util.Log;import com.google.android.maps.GeoPoint;
import com.google.android.maps.MapActivity;
import com.google.android.maps.MapController;
import com.google.android.maps.MapView;
/*** 在定位方面可以通过LocationManager.GPS_PROVIDER和LocationManager.NETWORK_PROVIDER两种方式获取定位位置。* 除了直接使用LocationManager提供的静态Provider(如GPS_PROVIDER和NETWORK_PROVIDER等)外,还可以使用我们自* 己创建的LocationProvider对象。*创建LocationProvider对象一般要先创建Criteria对象,来设置我们的LocationProvider要满足什么样的标准*Criteria myCri=new Criteria();*myCri.setAccuracy(Criteria.ACCURACY_FINE);//精确度 *myCri.setAltitudeRequired(false);//海拔不需要*myCri.setBearingRequired(false);//Bearing是“轴承”的意思,此处可理解为地轴线之类的东西,总之Bearing Information*是一种地理位置信息的描述*myCri.setCostAllowed(true);//允许产生现金消费*myCri.setPowerRequirement(Criteria.POWER_LOW);//耗电*String myProvider=locMan.getBestProvider(myCri,true);** * 运行成功之后地图定位到当前所在位置* * * 运行须知:* 1.在创建项目时选择包含Google Api的Android SDK* * 2.必须具有访问地图和网络的权限程序需要实时的从Google地图库中读取信息,所以添加接入Internet权限。* * * 3.在AndroidManifest.xml中配置必须添加香瓜的用于类库userlibary* * * 例如:* * * * * * * * * * 4.AndroidGoogleMapActivity文件。在这个activity中我们继承了一个特别的类叫做:MapActivity 。* ** @author longgangbai**/
public class AndroidGoogleMapActivity extends MapActivity {private MapView mapView;MapController mapController;/** Called when the activity is first created. */@Overridepublic void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.main);mapView=(MapView)findViewById(R.id.mapView);this.mapView.setBuiltInZoomControls(true);//可以多点触摸放大 mapView.setSatellite(true);//使用卫星图 //1.定位地图中要查看的经纬度GeoPoint point=new GeoPoint(39000000, 116000000); this.mapController=mapView.getController(); this.mapController.animateTo(point);//通过动画方式移动到指定坐标 Log.i("welcome", "created map activity!"); //2.自动定位功能功能由于种种原因不可以//获取定位设置对象//Location location = getLocationManager();//获取当前的经纬度//getCurrentLocation(location);//3.根据输入的地址查询相关的地址queryLocationByAddress("苏州科技城高新软件园");}/*** 根据地址查询相关的经纬度* @param address* @throws IOException */public void queryLocationByAddress(String locationName) {//根据本地Locale获取地点Locale locale=Locale.getDefault();//创建Geocoder解析地址Geocoder gc=new Geocoder(AndroidGoogleMapActivity.this,locale/* Locale.CHINA */);//Locale是java.util中的一个类//gc.getFromLocation(latitude, longitude, 1);List addressList;try {addressList = gc.getFromLocationName(locationName, 1);StringBuilder buffer=new StringBuilder();if(addressList!=null&&addressList.size()>0){Address address=addressList.get(0);for (int i=0;i
main.xml
AndroidManifest.xml
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
