大家都知道,根据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. one-to-many many-to-one配置解释

    one-to-many放在某个文件的配置中,表示这个文件是ONE的一方, 同样的many-to-one放在某个文件的配置中,表示这个文件是many的一方.  

  2. poj3225 线段树区间操作 (见鬼)

    细节处理实在太重要了. #include<cstdio> #include<cstring> #define MT 65533*4 #define Maxn MT*4 int ...

  3. Struts2的struts.properties文件在哪儿啊?

    老师教我们Struts2的时候叫我们建了个Struts.xml文件啊?那struts.properties呢?不需要吗? 回答1: struts.properties 是可以不要的!!!因为 stru ...

  4. 使用Busybox-1.2.0制作根文件系统

    使用Busybox-1.2.0制作根文件系统 cross-3.3.2 make-3.8.1 STEP 1: 创建根文件系统目录,主要包括以下目录/bin,/etc,/dev,/mnt,/sbin,/u ...

  5. WebDriver 运行模式下使用rc 代码

    selenium2 对之前的rc 代码提供了兼容性接口,如果你之前的code 都是用rc 写,而现在又想摆脱要每次启动server,你只需要 略做修改即可.代码如下: public class Tes ...

  6. [原]我的CentOS设置

    [Date]2013-10-06 [Keywords]Linux.CentOS.Fedora [Environment]CentOS 6.3 Final . Wiz [Content]: 1.安装Fl ...

  7. 深入理解Linux的系统调用【转】

    一. 什么是系统调用 在Linux的世界里,我们经常会遇到系统调用这一术语,所谓系统调用,就是内核提供的.功能十分强大的一系列的函数.这些系统调用是在内核中实现的,再通过一定的方式把系统调用给用户,一 ...

  8. 国外程序员整理的Java资源

    好资料,慢慢学习.http://www.importnew.com/14429.html 构建 这里搜集了用来构建应用程序的工具. Apache Maven:Maven使用声明进行构建并进行依赖管理, ...

  9. 【转】shell中IFS用法

    http://blog.itpub.net/27181165/viewspace-775820/ 一 IFS的介绍   Shell 脚本中有个变量叫IFS(Internal Field Seprato ...

  10. leetcode@ [211] Add and Search Word - Data structure design

    https://leetcode.com/problems/add-and-search-word-data-structure-design/ 本题是在Trie树进行dfs+backtracking ...