Android由IP地址查询经纬度坐标实例

大家都知道,根据IP地址就可以知道它所在的具体位置,在Android中同样可以由IP地址得到它的位置,即具体的地理经纬度坐标。

创新互联公司是一家专业从事做网站、成都网站制作的网络公司。作为专业网站设计公司,创新互联公司依托的技术实力、以及多年的网站运营经验,为您提供专业的成都网站建设、网络营销推广及网站设计开发服务!

本文就直接以代码的方式演示如何根据IP地址查询地理经纬度坐标位置,下面的例子中演示的就是由58.192.32.1这个IP地址查询到其所在的经纬度坐标为(118.777802,32.061699)。

 
 
  1. package eoe.demo;   
  2. import com.mapdigit.gis.DigitalMap;   
  3. import com.mapdigit.gis.MapPoint;   
  4. import com.mapdigit.gis.geometry.GeoLatLng;   
  5. import com.mapdigit.gis.service.IIpAddressGeocodingListener;   
  6. import com.mapdigit.gis.service.IpAddressLocation;   
  7. import com.pstreets.gisengine.R;   
  8. import com.pstreets.gisengine.SharedMapInstance;   
  9. import android.app.Activity;   
  10. import android.os.Bundle;   
  11. import android.view.Menu;   
  12. import android.view.MenuInflater;   
  13. import android.view.MenuItem;   
  14. public class MapIpSearch extends Activity implements  
  15. IIpAddressGeocodingListener {   
  16. @Override  
  17. public void onCreate(Bundle savedInstanceState) {   
  18. super.onCreate(savedInstanceState);   
  19. setContentView(R.layout.main);   
  20. }   
  21. @Override  
  22. public void onStart() {   
  23. super.onStart();   
  24. GeoLatLng center = new GeoLatLng(32.0616667, 118.7777778);   
  25. SharedMapInstance.map.setCenter(center, 15,   
  26. com.mapdigit.gis.raster.MapType.MICROSOFTCHINA);   
  27. SharedMapInstance.map.setIpAddressGeocodingListener(this);   
  28. }   
  29. @Override  
  30. public boolean onCreateOptionsMenu(Menu menu) {   
  31. MenuInflater inflater = getMenuInflater();   
  32. inflater.inflate(R.menu.mapgeocoding_menu, menu);   
  33. return true;   
  34. }   
  35. @Override  
  36. public boolean onOptionsItemSelected(MenuItem item) {   
  37. switch (item.getItemId()) {   
  38. case R.id.findaddress:   
  39. SharedMapInstance.map.getIpLocations("58.192.32.1");   
  40. return true;   
  41. default:   
  42. return super.onOptionsItemSelected(item);   
  43. }   
  44. }   
  45. @Override  
  46. public void done(String query, IpAddressLocation result) {   
  47. if (result != null && result.error.length() == 0  
  48. && result.longitude.length() > 0  
  49. && result.longitude.length() > 0) {   
  50. try {   
  51. MapPoint mapPoint = new MapPoint();   
  52. String latLng = "[" + result.longitude + "," + result.latitude+ ",0]";   
  53. mapPoint.point = DigitalMap.fromStringToLatLng(latLng);   
  54. mapPoint.setName(result.organization);   
  55. mapPoint.setNote(result.city + " " + result.country);   
  56. SharedMapInstance.map.panTo(mapPoint.point);   
  57. } catch (Exception e) {   
  58. result.error = "IP_NOT_FOUND";   
  59. }   
  60. }   
  61. }   
  62. @Override  
  63. public void readProgress(int bytes, int total) {   
  64. }   
  65. }  

感兴趣的同学可以试试效果~

网站标题:Android由IP地址查询经纬度坐标实例
网页链接:http://www.csdahua.cn/qtweb/news35/12635.html

网站建设、网络推广公司-快上网,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 快上网