我正在使用平板電腦,在html應用程序上工作,希望在不使用任何網絡連接的情況下獲取GPS位置。 請給我簡單的方法。使用javascript獲取GPS位置
回答
使用JS,你可以得到它像這樣
<script>
var x = document.getElementById("demo");
function getLocation() {
if (navigator.geolocation) {
navigator.geolocation.getCurrentPosition(showPosition);
} else {
x.innerHTML = "Geolocation is not supported by this browser.";
}
}
function showPosition(position) {
x.innerHTML = "Latitude: " + position.coords.latitude + "<br>Longitude: " + position.coords.longitude;
}
</script>
你必須創建的LocationManager類的實例。您可以使用getLastKnownLocation方法來查找位置。您必須將Location.GPS_PROVIDER作爲參數傳遞。
LocationManager locationManager = (LocationManager)context.getSystemService(Context.LOCATION_SERVICE);
Location userLocation = locationManager.getLastKnownLocation(LocationManager.GPS_PROVIDER);
Log.d("Latitude", userLocation.getLatitude());
Log.d("Longitude", userLocation.getLongitude());
親愛的,我正在php,sqlite和yii框架上運行本地主機上的應用程序,但網絡連接不存在,但唯一的選擇是平板電腦內部的GPS和我必須得到經度和緯度。所以請根據我的編程環境來告訴我。 – 2014-10-20 08:56:23
給你許可:
<uses-permission android:name="android.permission.INTERNET"></uses-permission>
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
獲取經度緯度&:
LocationManager lm = (LocationManager)getSystemService(Context.LOCATION_SERVICE);
Location location = lm.getLastKnownLocation(LocationManager.GPS_PROVIDER);
double longitude = location.getLongitude();
double latitude = location.getLatitude();
保存在txt文件:
public void generateLatLongOnSDCard(String sFileName, String sBody){
try
{
File rootDirFile = new File(Environment.getExternalStorageDirectory(), "LatLong");
if (!rootDirFile.exists()) {
rootDirFile.mkdirs();
}
File gpxfile = new File(rootDirFile, sFileName);
FileWriter writer = new FileWriter(gpxfile);
writer.append(sBody);
writer.flush();
writer.close();
Toast.makeText(this, "Saved", Toast.LENGTH_SHORT).show();
}
catch(IOException e)
{
e.printStackTrace();
}
}
最後您可以閱讀文本文件。
親愛的,我正在研究php,sqlite和yii框架,在localhost上運行應用程序,但網絡連接不存在,但唯一的選擇是平板電腦內部GPS,我必須獲取經度和緯度。所以請根據我的編程環境來告訴我。 – 2014-10-20 08:57:21
如果您想要獲得更準確的位置Feed,則應該請求更新,最後一個已知位置對您而言不夠用。 GPS_PROVIDER將僅提供來自gps的位置更新,而不是來自網絡提供商。但是,如果您使用NETWORK_PROVIDER,則可以在室內獲得更準確的位置值。
public class MainActivity extends Activity implements LocationListener{
protected LocationManager locationManager;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
locationManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 0, this);
}
@Override
public void onLocationChanged(Location location) {
txtLat.setText("Latitude:" + location.getLatitude() + ", Longitude:" + location.getLongitude());
}
@Override
public void onProviderDisabled(String provider) {
Log.d("Latitude","disable");
}
@Override
public void onProviderEnabled(String provider) {
Log.d("Latitude","enable");
}
@Override
public void onStatusChanged(String provider, int status, Bundle extras) {
Log.d("Latitude","status");
}
}
- 1. 獲取GPS位置
- 2. 使用GPS獲取當前位置
- 3. 使用Android獲取GPS位置
- 4. 如何使用AsyncTask獲取GPS位置?
- 5. 無法使用GPS獲取位置
- 6. 使用libgdx獲取GPS位置
- 7. 使用服務獲取GPS位置,android?
- 8. 使用GPS獲取空位置(android)
- 9. 使用GPS獲取手機位置
- 10. Android-獲取GPS位置
- 11. GPS獲取錯誤位置
- 12. 無法獲取GPS位置
- 13. Javascript:獲取當前在{x} api上使用的GPS位置?
- 14. 使用Javascript獲取GPS位置沒有互聯網
- 15. 通過GPS位置獲取位置
- 16. gps沒有獲取用戶位置
- 17. 位置使用Gps
- 18. 使用GPS位置
- 19. PHP MySQL通過GPS獲取半徑用戶位置的位置
- 20. 即使使用融合位置API關閉gps,如何獲取位置更新?
- 21. 在BlackBerry上獲取GPS位置
- 22. Android - 獲取GPS座標和位置
- 23. 獲取最準確的GPS位置
- 24. Android AsyncTask無法獲取GPS位置
- 25. blackberry gps獲取當前位置地址?
- 26. 通過GPS獲取位置不工作
- 27. GPS沒有獲取位置更新
- 28. Python在macOS上獲取GPS位置
- 29. 從GPS獲取每個位置更新
- 30. 獲取gps在黑莓的位置
那麼你需要設置一些權限..閱讀此。 「http://stackoverflow.com/questions/5329662/android-webview-geolocation」 – Panther 2014-10-20 08:53:44
親愛的,我直接做一個HTML文件,並添加這個JavaScript部分,所以我應該在哪裏添加這些權限? – 2014-10-20 10:43:14