Android 根據IP地址獲取城市
manifest中要加的permission和activity_main.xml 參照上。
MainActivity.java
package com.example.test; import java.util.List; import java.util.Locale; import android.location.Address; import android.location.Geocoder; import android.os.Bundle; import android.app.Activity; import android.location.Criteria; import android.location.Location; import android.location.LocationListener; import android.location.LocationManager; import android.content.Context; import android.widget.EditText; public class MainActivity extends Activity { LocationManager lm; EditText et; LocationListener ll = new LocationListener(){ public void onLocationChanged(Location location){ updateView(location); } @Override public void onProviderDisabled(String provider) { // TODO Auto-generated method stub updateView(null); } @Override public void onProviderEnabled(String provider) { // TODO Auto-generated method stub Location l = lm.getLastKnownLocation(provider); updateView(l); } @Override public void onStatusChanged(String provider, int status, Bundle extras) { // TODO Auto-generated method stub } }; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); et = (EditText)findViewById(R.id.et); lm = (LocationManager)getSystemService(Context.LOCATION_SERVICE); String bestProvider = lm.getBestProvider(getCriteria(), true); Location l = lm.getLastKnownLocation(bestProvider); updateView(l); lm.requestLocationUpdates(bestProvider, 5000, 8, ll); } private Criteria getCriteria() { // TODO Auto-generated method stub Criteria c = new Criteria(); c.setAccuracy(Criteria.ACCURACY_COARSE); c.setSpeedRequired(false); c.setCostAllowed(false); c.setBearingRequired(false); c.setAltitudeRequired(false); c.setPowerRequirement(Criteria.POWER_LOW); return c; } public void updateView(Location newLocation) { if(newLocation !=null){ String latitude = String.valueOf(newLocation.getLatitude()); String longitude = String.valueOf(newLocation.getLongitude()); double Latitude = newLocation.getLatitude(); double Longitude = newLocation.getLongitude(); String city = getAddressbyGeoPoint(Latitude,Longitude); et.setText("您現在的位置是\n維度:"); et.append(latitude); et.append("\n經度:"); et.append(longitude); et.append("\n城市:"); et.append(city); } else{ et.getEditableText().clear(); } } //從地址Geopoint取得Address public String getAddressbyGeoPoint(double Latitude, double Longitude) { String strReturn = ""; try { /* 建立GeoPoint不等於null */ // if (gp != null) // { /* 建立Geocoder物件,用於獲得指定地點的地址 */ Geocoder gc = new Geocoder(MainActivity.this, Locale.getDefault()); /* 取出地理座標經緯度*/ double geoLatitude = Latitude; double geoLongitude = Longitude; /* 自經緯度取得地址(可能有多行)*/ List<Address> lstAddress = gc.getFromLocation(geoLatitude, geoLongitude, 1); StringBuilder sb = new StringBuilder(); /* 判斷地址是否為多行 */ if (lstAddress.size() > 0) { Address adsLocation = lstAddress.get(0); for (int i = 0; i < adsLocation.getMaxAddressLineIndex(); i++) { sb.append(adsLocation.getAddressLine(i)).append("\n"); //精確的地址和附近的代表建築物 } sb.append(adsLocation.getLocality()).append("\n"); //當前經緯度所在的城市(市) // sb.append(adsLocation.getPostalCode()).append("\n"); // sb.append(adsLocation.getCountryName()); } /* 將取得到的地址組合後放到stringbuilder物件中輸出用 */ strReturn = sb.toString(); // } } catch(Exception e) { e.printStackTrace(); } return strReturn; } }
用到的jar包Android_Location_V1.1.1.jar
相關推薦
Android 根據IP地址獲取城市
manifest中要加的permission和activity_main.xml 參照上。 MainActivity.java package com.example.test; import java.util.List; import java.util.Loc
前端使用js根據ip地址獲取城市地理位置
前端使用js根據ip地址獲取城市地理位置
PHP開發小技巧②③—根據ip地址獲取城市
這個方法我們用的還是比較多的,便於收集資訊用於資料探勘分析。此方法不光根據ip地址進行獲取當前城市還可以根據http請求獲取使用者的城市位置。 實現方法:主要是根據高德地圖API進行獲取,首先註冊成為高德地圖使用者,然後認證成為開發者,建
根據ip地址獲取城市
<?php /** * Created by PhpStorm. * User: xym * Date: 2018/1/15 * Time: 下午1:57 */ function getIPLoc_sina($queryIP){ $url = 'http:/
根據ip地址獲取所在省市城市地區的真實地址/php函式
/*獲取客戶端ip*/ function _get_ip(){ if (isset($_SERVER['HTTP_CLIENT_IP']) && strcasecmp($_SER
根據IP地址定位城市
java: public class MainActivity extends AppCompatActivity { private TextView mText; private String mIPAddress; @Override prote
根據ip地址定位城市資訊
最近需要一個需求就是根據ip地址獲取使用者的地址資訊,搜尋了網上的方法,有H5定位和呼叫web api介面定位. 相比之下H5要求瀏覽器支援,在移動裝置上可以實現呼叫手機gps獲取位置資訊,精確度很高。web api定位可以定位到城市,相對來說精確度不高,對比了百度,高德,淘寶,新浪的web a
根據ip地址獲取地理位置及座標
根據ip獲取地理位置資訊,不用http和webservice介面,減少請求時間。我們可以利用了GeoLite2 庫,GeoLite2 資料庫是一個免費的 IP 地理定位資料庫,GeoLite2 Country 與 City 資料庫在每月的第一個週二更新。GeoLite2 AS
java根據ip地址獲取詳細地域資訊
網際網路有很多介面可以實現通過ip查詢到具體的位置,如下: 通過淘寶IP地址庫獲取IP位置 1. 請求介面(GET):http://ip.taobao.com/service/getIpInfo.php?ip=[ip地址字串] 2. 響應資訊:(
java 根據IP地址獲取地理位置
1. 第三方API ps:下面引數ip:218.192.3.42 用於測試 淘寶API:http://ip.taobao.com/service/getIpInfo.php?ip=218.192.3.42 新浪API:http://int.dpool.sina.
java實現根據ip地址獲取地理位置
記錄學習使用,轉載地址:http://www.jb51.net/article/54287.htm 程式呼叫了“騰訊ip分享計劃”提供的介面,當然也可以改成ip138提供的介面,不過這兩個網站返回的字串格式有些不同,要分別做解析。 public String getAdd
android 根據網路來獲取外網ip地址及國家,地區的介面
新浪的IP地址查詢介面:http://int.dpool.sina.com.cn/iplookup/iplookup.php?format=js 新浪多地域測試方法:http://int.dpool.sina.com.cn/iplookup/iplookup.php?form
js獲取當前用戶IP地址和城市
ip地址 spa city src 用戶 color key 引用 href 引用下面的js: <script src="http://pv.sohu.com/cityjson?ie=utf-8"></script> 直接獲取IP和城市名: ale
Java 根據 IP 地址來獲取 位置 -- 使用 ip2region
首先在 maven 裡面引入 ip2region : <dependency> <groupId>org.lionsoul</groupId> <artifactId>ip2region</artifactId&
js如何獲取當前使用者訪問的ip地址以及城市地區?
引用下面的js: 直接獲取IP和城市名: alert(returnCitySN['cip'] + returnCitySN['cname']); 轉載地址:https://www.cnblogs.com/billybobby/p/6729799.html
伺服器獲取登入點的ip地址和城市名稱
package njg.ssh.util; import java.io.BufferedReader; import java.io.IOException; import java.io.Inp
根據ip地址和子網掩碼獲取廣播地址的java實現
/** * 獲取廣播地址 * */ public static String getBroadcastAddress(String subnet, String ip) { String[] ips = ip.split("\\."); String[]
百度地圖根據輸入地址獲取坐標
pan nav 慣性 nbsp 滾輪 tle ner .com 一次 首先新建一個html頁面,然後引用百度地圖api: <html xmlns="http://www.w3.org/1999/xhtml"> <head> <titl
Spark案例之根據ip地址計算歸屬地二
之前的是單機版的根據ip地址計算歸屬地,當資料量小的時候還可以,但是在大資料實際生產中是不行的,必須將它改造成一個Spark程式,然後在Spark叢集上執行 Spark程式和單機版的程式不一樣,下面來仔細分析一下Spark程式的執行流程 首先是一個Spark叢集,叢集中有Master和
Spark案例之根據ip地址計算歸屬地一
1.需求 根據訪問日誌中的ip地址計算出訪問者的歸屬地,並且按照省份,計算出訪問次數,最後將計算好的結果寫入到Mysql中 2.思路分析 1)整理訪問日誌中的資料,切分出ip欄位,然後將ip欄位轉換成十進位制 2)載入ip地址的規則,取出有用的欄位,然後將