大家都知道,根据IP地址就可以知道它所在的具体位置,在Android中同样可以由IP地址得到它的位置,即具体的地理经纬度坐标。
创新互联公司是一家专业从事做网站、成都网站制作的网络公司。作为专业网站设计公司,创新互联公司依托的技术实力、以及多年的网站运营经验,为您提供专业的成都网站建设、网络营销推广及网站设计开发服务!
本文就直接以代码的方式演示如何根据IP地址查询地理经纬度坐标位置,下面的例子中演示的就是由58.192.32.1这个IP地址查询到其所在的经纬度坐标为(118.777802,32.061699)。
- package eoe.demo;
- import com.mapdigit.gis.DigitalMap;
- import com.mapdigit.gis.MapPoint;
- import com.mapdigit.gis.geometry.GeoLatLng;
- import com.mapdigit.gis.service.IIpAddressGeocodingListener;
- import com.mapdigit.gis.service.IpAddressLocation;
- import com.pstreets.gisengine.R;
- import com.pstreets.gisengine.SharedMapInstance;
- import android.app.Activity;
- import android.os.Bundle;
- import android.view.Menu;
- import android.view.MenuInflater;
- import android.view.MenuItem;
- public class MapIpSearch extends Activity implements
- IIpAddressGeocodingListener {
- @Override
- public void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.main);
- }
- @Override
- public void onStart() {
- super.onStart();
- GeoLatLng center = new GeoLatLng(32.0616667, 118.7777778);
- SharedMapInstance.map.setCenter(center, 15,
- com.mapdigit.gis.raster.MapType.MICROSOFTCHINA);
- SharedMapInstance.map.setIpAddressGeocodingListener(this);
- }
- @Override
- public boolean onCreateOptionsMenu(Menu menu) {
- MenuInflater inflater = getMenuInflater();
- inflater.inflate(R.menu.mapgeocoding_menu, menu);
- return true;
- }
- @Override
- public boolean onOptionsItemSelected(MenuItem item) {
- switch (item.getItemId()) {
- case R.id.findaddress:
- SharedMapInstance.map.getIpLocations("58.192.32.1");
- return true;
- default:
- return super.onOptionsItemSelected(item);
- }
- }
- @Override
- public void done(String query, IpAddressLocation result) {
- if (result != null && result.error.length() == 0
- && result.longitude.length() > 0
- && result.longitude.length() > 0) {
- try {
- MapPoint mapPoint = new MapPoint();
- String latLng = "[" + result.longitude + "," + result.latitude+ ",0]";
- mapPoint.point = DigitalMap.fromStringToLatLng(latLng);
- mapPoint.setName(result.organization);
- mapPoint.setNote(result.city + " " + result.country);
- SharedMapInstance.map.panTo(mapPoint.point);
- } catch (Exception e) {
- result.error = "IP_NOT_FOUND";
- }
- }
- }
- @Override
- public void readProgress(int bytes, int total) {
- }
- }
感兴趣的同学可以试试效果~
网站标题:Android由IP地址查询经纬度坐标实例
网页链接:http://www.csdahua.cn/qtweb/news35/12635.html
网站建设、网络推广公司-快上网,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 快上网