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

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

Java代码
  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地址查询经纬度坐标的实例的更多相关文章

  1. python实现ip地址查询经纬度定位

    1.此api已经关闭 https://api.map.baidu.com/highacciploc/v1?qcip=220.181.38.113&ak=你申请的AK&extension ...

  2. [1]IP地址查询

    今天起开始玩百度APIStore里面的免费API.以前用过的有12306的:数据.接口,有时间整理出来,12306的有点乱就是了.还有扇贝以及有道的API,之前用在留言板里自动翻译,公司用过百度地图以 ...

  3. 齐全的IP地址查询接口及调用方法(转)

    设计蜂巢IP地址查询接口:http://www.hujuntao.com/api/ip/ip.php 腾讯IP地址查询接口:http://fw.qq.com/ipaddress 新浪IP地址查询接口: ...

  4. 微信小程序开发-IP地址查询-例子

    微信小程序开发  小程序搜索框  IP地址查询  搜索查询  样例 微信小程序 开发 参考   https://mp.weixin.qq.com/debug/wxadoc/dev/component/ ...

  5. 百度地图API 根据地址查询经纬度

    html页面.引用上API: <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title> ...

  6. 百度地图API简单应用——1.根据地址查询经纬度

    这几天比较空闲,就接触了下百度地图的API(开发者中心链接地址:http://developer.baidu.com),发现调用还是挺方便的.只要简单几步注册下,就可以获得一个Key,就能直接调用(P ...

  7. 通过Web Service实现IP地址查询功能

    实例01 实现一个简单的Web服务访问 本实例将实现IP地址查询接口服务,根据用户传入的IP地址返回IP所在的省.市.地区,实例中将会用到IP地址库用于查询信息,由于数据较多,所以读者可在光盘资源文件 ...

  8. ip地址查询python3小工具_V0.0.1

    看到同事在一个一个IP地址的百度来确认导出表格中的ip地址所对应的现实世界的地址是否正确,决定给自己新开一个坑.做一个查询ip“地址”的python小工具,读取Excel表格,在表格中的后续列输出尽可 ...

  9. QQ IP 地址查询相关

    1.QQwry.dat格式分析和查询IP位置的PHP程序 以前的追捕数据库太大,而且很久没有更新了. 所以我想到利用QQwry.dat这个文件查询IP所在位置,QQwry.dat 在很多地方都能找到, ...

随机推荐

  1. poi对wps excel的支持

    今天在使用poi解析xls文件的时候出现了如下异常 Exception in thread"main"java.lang.RuntimeException: Expected an ...

  2. freemarker 如何获得list的索引值

    <#list toplist as toplists> ${toplists_index} </#list> 相当方便

  3. sencha touch 2 tabpanel中List的不显示问题,解决方案

    笔者在做sencha项目的时候碰到一个需求,就是"好友列表"中分为"未确认好友"和"已确认好友",两个都是一个list,自然想到的就是使用t ...

  4. java的四舍五入算法

    粗力度的四舍五入为整数 package math; public class MathRoundTest { /** * Math类中提供了三个与取整有关的方法:ceil,floor,round, * ...

  5. 也用 Log4Net 之走进Log4Net (四)

    转载地址:http://www.cnblogs.com/dragon/archive/2005/03/24/124254.html 我是转的别人的内容,我觉得他写的非常好,所以我把其中三分之二转了过来 ...

  6. CPU affinity 进程和线程的亲缘性

    设置Processor Affinity 作用: 1.进程和线程的亲缘性(affinity),使进程或线程在指定的CPU(核)上运行.(比如程序A,在第4个核心上运行) 2.设置进程 或者 线程, 使 ...

  7. 【转】ubuntu自动挂载硬盘方法

    首先建立挂载目录例如:sudo mkdir /movie #根目录下建立movie文件夹sudo mkdir /work   #根目录下建立work文件夹 然后查看硬盘信息sudo fdisk -l ...

  8. HDU 4081 Qin Shi Huang's National Road System 最小生成树

    分析:http://www.cnblogs.com/wally/archive/2013/02/04/2892194.html 这个题就是多一个限制,就是求包含每条边的最小生成树,这个求出原始最小生成 ...

  9. Zabbix探索:Proxy没有回传任何数据

    因为Zabbix使用Puppet搭建的,实际上是通过脚本安装的,为了偷懒,将脚本都写一块去了,后来发现Proxy的配置和Zabbix的配置不同,又偷懒一次,复制了一下,但是为了调整脚本使用的便捷性,将 ...

  10. LeetCode题解——Reverse Integer

    题目: 数字翻转,即输入123,返回321:输入-123,返回-321. 代码: class Solution { public: int reverse(int x) { , sign = ; ) ...