Java代码package com.android.yibai.antking;

import java.util.ArrayList;import java.util.List;import java.util.Locale;import android.app.AlertDialog;import android.app.Dialog;import android.content.Context;import android.graphics.Bitmap;import android.graphics.BitmapFactory;import android.graphics.Canvas;import android.graphics.Paint;import android.graphics.Point;import android.location.Address;import android.location.Geocoder;import android.os.Bundle;import com.google.android.maps.GeoPoint;import com.google.android.maps.MapActivity;import com.google.android.maps.MapController;import com.google.android.maps.MapView;import com.google.android.maps.Overlay;import com.google.android.maps.Projection;public class GeocoderMain extends MapActivity{    //地图显示控制相关的变量定义private MapView map = null;private MapController mapCon;private Geocoder geo;private static final int ERROR_DIALOG=1;public void onCreate(Bundle savedInstanceState){super.onCreate(savedInstanceState);setContentView(R.layout.main);geo= new Geocoder(this,Locale.CHINA);//获取MapViewmap = (MapView)this.findViewById(R.id.mapview);//设置显示模式//map.setTraffic(false);//map.setSatellite(true);//map.setStreetView(true);//设置可以缩放map.setBuiltInZoomControls(true);List addresses = null;try{addresses = geo.getFromLocationName("日照市万平口", 1);}catch(Exception e){e.printStackTrace();}   if(addresses.size()==0){   showDialog(ERROR_DIALOG);   GeoPoint geoBeijing = new GeoPoint(   39906033,116397700);   mapCon = map.getController();   mapCon.setCenter(geoBeijing);   mapCon.setZoom(4);      }else{   Address address = (Address) addresses.get(0);   //设置初始地图的中心位置   GeoPoint geoPoint =new GeoPoint((int)(address.getLatitude()*1E6),(int)(address.getLongitude()*1E6)   );   mapCon = map.getController();   mapCon.setCenter(geoPoint);   mapCon.setZoom(20);   List<Overlay> overlays = this.map.getOverlays();   PositionOverlay overlay = new PositionOverlay(geoPoint,this,R.drawable.icon);   overlays.add(overlay);        }}@Overrideprotected boolean isRouteDisplayed() {// TODO Auto-generated method stubreturn false;}protected Dialog onCreateDialog(int id){return new AlertDialog.Builder(this).setTitle("查询出错了").setMessage("地名出错,请从新输入").create();}class PositionOverlay extends Overlay{private GeoPoint geoPoint;private Context context;private int drawable;public PositionOverlay(GeoPoint geoPoint,Context context,int drawable){super();this.geoPoint = geoPoint;this.context = context;this.drawable = drawable;}public void draw(Canvas canvas,MapView mapView,boolean shadow){Projection projection = mapView.getProjection();Point point = new Point();projection.toPixels(geoPoint, point);Bitmap bitmap =BitmapFactory.decodeResource(context.getResources(), drawable);canvas.drawBitmap(bitmap, (point.x-bitmap.getWidth()/2), (point.y-bitmap.getHeight()),new Paint());super.draw(canvas, mapView, shadow);}}}

更多相关文章

  1. Android图片缩放总结及比较
  2. Android根据屏幕宽度缩放图片
  3. 我的Android进阶之旅------>Android百度地图定位SDK功能学习
  4. android 地图 infoWindow的每个控件添加点击事件
  5. Android上面的百度地图使用步骤
  6. android google map v2的小例子 美洲地图的显示

随机推荐

  1. MySQL的隐式类型转换整理总结
  2. Mysql利用group by分组排序
  3. Mysql百万级分页优化技巧
  4. MySql创建带解释的表及给表和字段加注释
  5. 详解Centos7 修改mysql指定用户的密码
  6. MySQL5.7安装过程并重置root密码的方法(sh
  7. 微信昵称带符号导致插入MySQL数据库时出
  8. Mysql 忘记root密码和修改root密码的解决
  9. mysql 5.7.12 winx64手动安装教程
  10. SQL分页查询存储过程代码分享