package com.amaker.mp.location;
import java.util.List;
import java.util.Locale;
import android.location.Address;
import android.location.Geocoder;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import com.amaker.mp.R;
import com.google.android.maps.GeoPoint;
import com.google.android.maps.MapActivity;
import com.google.android.maps.MapController;
import com.google.android.maps.MapView;
public class QueryPositionByAddressActivity extends MapActivity {
private MapController mMapController01;
private MapView mMapView01;
private Button mButton01,mButton02,mButton03;
private EditText mEditText01;
private int intZoomLevel=15;
private String TAG = "HIPPO_GEO_DEBUG";
@Override
protected void onCreate(Bundle icicle)
{
// TODO Auto-generated method stub
super.onCreate(icicle);
setContentView(R.layout.query_position_by_address);
mEditText01 = (EditText)findViewById(R.id.myEditText1);
mEditText01.setText
(
getResources().getText(R.string.str_default_address).toString()
);
/* 创建MapView对象 */
mMapView01 = (MapView)findViewById(R.id.myMapView1);
mMapController01 = mMapView01.getController();
// 设置MapView的显示选项(卫星、街道)
mMapView01.setSatellite(true);
mMapView01.setStreetView(true);
mButton01 = (Button)findViewById(R.id.myButton1);
mButton01.setOnClickListener(new Button.OnClickListener()
{
@Override
public void onClick(View v)
{
// TODO Auto-generated method stub
if(mEditText01.getText().toString()!="")
{
refreshMapViewByGeoPoint
(
getGeoByAddress
(
mEditText01.getText().toString()
),mMapView01,intZoomLevel,true
);
}
}
});
/* 放大 */
mButton02 = (Button)findViewById(R.id.myButton2);
mButton02.setOnClickListener(new Button.OnClickListener()
{
@Override
public void onClick(View v)
{
// TODO Auto-generated method stub
intZoomLevel++;
if(intZoomLevel>mMapView01.getMaxZoomLevel())
{
intZoomLevel = mMapView01.getMaxZoomLevel();
}
mMapController01.setZoom(intZoomLevel);
}
});
/* 缩小 */
mButton03 = (Button)findViewById(R.id.myButton3);
mButton03.setOnClickListener(new Button.OnClickListener()
{
@Override
public void onClick(View v)
{
// TODO Auto-generated method stub
intZoomLevel--;
if(intZoomLevel<1)
{
intZoomLevel = 1;
}
mMapController01.setZoom(intZoomLevel);
}
});
/* 初次查询地点 */
refreshMapViewByGeoPoint
(
getGeoByAddress
(
getResources().getText(R.string.str_default_address).toString()
),mMapView01,intZoomLevel,true
);
}
private GeoPoint getGeoByAddress(String strSearchAddress)
{
GeoPoint gp = null;
try
{
if(strSearchAddress!="")
{
Geocoder mGeocoder01 = new Geocoder(QueryPositionByAddressActivity.this, Locale.getDefault());
List<Address> lstAddress = mGeocoder01.getFromLocationName(strSearchAddress, 1);
if (!lstAddress.isEmpty())
{
// Address[addressLines=[0:"U.S PIZZA",1:"15th Main Rd, Phase II, J P Nagar",2:"Bengaluru, Karnataka",3:"India"],feature=U.S PIZZA,admin=Karnataka,sub-admin=Bengaluru,locality=Bengaluru,thoroughfare=15th Main Rd,postalCode=null,countryCode=IN,countryName=India,hasLatitude=true,latitude=18.508933,hasLongitude=true,longitude=73.8042,phone=null,url=null,extras=null]
/*
for (int i = 0; i < lstAddress.size(); ++i)
{
Address adsLocation = lstAddress.get(i);
Log.i(TAG, "Address found = " + adsLocation.toString());
//lat = adsLocation.getLatitude();
//lon = adsLocation.getLongitude();
}
*/
Address adsLocation = lstAddress.get(0);
double geoLatitude = adsLocation.getLatitude()*1E6;
double geoLongitude = adsLocation.getLongitude()*1E6;
gp = new GeoPoint((int) geoLatitude, (int) geoLongitude);
}
else
{
Log.i(TAG, "Address GeoPoint NOT Found.");
}
}
}
catch (Exception e)
{
e.printStackTrace();
}
return gp;
}
public static void refreshMapViewByGeoPoint(GeoPoint gp, MapView mv, int zoomLevel, boolean bIfSatellite)
{
try
{
mv.displayZoomControls(true);
/* 取得MapView的MapController */
MapController mc = mv.getController();
/* 移至该地理坐标地址 */
mc.animateTo(gp);
/* 放大地图层级 */
mc.setZoom(zoomLevel);
/* 设置MapView的显示选项(卫星、街道)*/
if(bIfSatellite)
{
mv.setSatellite(true);
mv.setStreetView(true);
}
else
{
mv.setSatellite(false);
}
}
catch(Exception e)
{
e.printStackTrace();
}
}
@Override
protected boolean isRouteDisplayed()
{
// TODO Auto-generated method stub
return false;
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
收起资源包目录
Android应用源码之移动警务通实例-IT计算机-毕业设计.zip (133个子文件)
resources.ap_ 31KB
Chapter15_Mobile_Police_Client.apk 50KB
UploadPicActivity.class 6KB
VehicleInfoCollActivity.class 5KB
QueryPositionByAddressActivity.class 5KB
EscapedQueryActivity.class 5KB
QueryPositionByLLActivity.class 4KB
HttpFormUtil.class 4KB
UploadFileServlet.class 4KB
LoginActivity.class 4KB
MyPositionActivity.class 3KB
HttpUtil.class 3KB
FileExplorerActivity.class 3KB
People.class 2KB
PeopleDaoImpl.class 2KB
VehicleFaultInfoServlet.class 2KB
LoginServlet.class 2KB
UserDaoImpl.class 2KB
MainActivity.class 2KB
VehicleFaultInfoDaoImpl.class 2KB
GpsLocationActivity.class 2KB
PeopleImgServlet.class 2KB
VehicleFaultInfo.class 2KB
EscapedQueryActivity$1.class 2KB
InfoCollectActivity.class 2KB
QueryPositionByAddressActivity$1.class 2KB
QueryPositionByLLActivity$1.class 2KB
InfoQueryActivity.class 2KB
UploadPicActivity$2.class 2KB
DBUtil.class 2KB
PeopleServlet.class 2KB
EscapedQueryActivity$2.class 2KB
FileUploadActivity.class 2KB
UploadFileDaoImpl.class 2KB
QueryPositionByAddressActivity$2.class 2KB
R$id.class 2KB
QueryPositionByLLActivity$2.class 1KB
FormFile.class 1KB
QueryPositionByAddressActivity$3.class 1KB
MyPositionItemizedOverlay.class 1KB
QueryPositionByLLActivity$3.class 1KB
LoginActivity$2.class 1KB
VehicleInfoCollActivity$2.class 1KB
EncodingFilter.class 1KB
UploadFile.class 1KB
UploadPicActivity$1.class 1KB
QueryPositionByLLActivity$4.class 952B
VehicleInfoCollActivity$3.class 951B
User.class 922B
UploadPicActivity$3.class 910B
VehicleInfoCollActivity$1.class 900B
EscapedQueryActivity$3.class 899B
LoginActivity$3.class 832B
R$string.class 813B
LoginActivity$1.class 780B
R$layout.class 706B
R.class 582B
R$drawable.class 540B
R$color.class 404B
R$array.class 384B
R$attr.class 325B
PeopleDao.class 238B
UserDao.class 191B
VehicleDao.class 173B
UploadFileDao.class 173B
.classpath 597B
.classpath 280B
classes.dex 38KB
mysql-connector-java-5.0.3-bin.jar 482KB
commons-io-1.4.jar 106KB
commons-fileupload-1.2.1.jar 56KB
QueryPositionByAddressActivity.java 5KB
UploadPicActivity.java 5KB
R.java 4KB
QueryPositionByLLActivity.java 4KB
VehicleInfoCollActivity.java 4KB
EscapedQueryActivity.java 3KB
HttpUtil.java 3KB
UploadFileServlet.java 3KB
HttpFormUtil.java 3KB
LoginActivity.java 2KB
MyPositionActivity.java 2KB
VehicleFaultInfoServlet.java 2KB
People.java 2KB
PeopleDaoImpl.java 2KB
FileExplorerActivity.java 1KB
LoginServlet.java 1KB
MainActivity.java 1KB
GpsLocationActivity.java 1KB
PeopleImgServlet.java 1KB
PeopleServlet.java 1KB
VehicleFaultInfo.java 1KB
UserDaoImpl.java 1KB
VehicleFaultInfoDaoImpl.java 1KB
FormFile.java 1KB
DBUtil.java 1KB
InfoCollectActivity.java 992B
UploadFileDaoImpl.java 984B
InfoQueryActivity.java 975B
FileUploadActivity.java 908B
共 133 条
- 1
- 2
资源评论
- m0_689554472023-06-15资源不错,内容挺好的,有一定的使用价值,值得借鉴,感谢分享。
- m0_469480602023-03-27这个资源对我启发很大,受益匪浅,学到了很多,谢谢分享~
芝麻粒儿
- 粉丝: 5w+
- 资源: 2万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功