gpt4 book ai didi

android gps 当前位置

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:48:23 26 4
gpt4 key购买 nike

我想显示我的当前位置,但它显示我在命令行上设置的纬度和经度!如果我不在命令行上设置参数,它会显示 Eclipse 中包含的经纬度!

有没有人对此有想法?我正在用 AVD 进行测试。

我进行了测试以查看我的位置是否已启用,但未启用。我不确定为什么会这样。

这是我的代码:

package com.manita.mapuse;


import java.io.InputStream;

import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.impl.client.DefaultHttpClient;

import android.content.Context;
import android.location.Location;
import android.location.LocationListener;
import android.location.LocationManager;
import android.os.Bundle;
import android.util.Log;
import android.view.KeyEvent;
import android.widget.Toast;

import com.google.android.maps.GeoPoint;
import com.google.android.maps.MapActivity;
import com.google.android.maps.MapController;
import com.google.android.maps.MapView;
import com.google.android.maps.MyLocationOverlay;



public class MapuseActivity extends MapActivity implements LocationListener {

private MapView mapView = null;
private LocationManager lm = null;
private double lat = 0;
private double lng = 0;
private double alt = 0;
private MapController mc = null;
private MyLocationOverlay myLocation = null;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
mapView = (MapView) this.findViewById(R.id.mapView);
mapView.setBuiltInZoomControls(true);

lm = (LocationManager) this.getSystemService(LOCATION_SERVICE);
lm.requestLocationUpdates(LocationManager.GPS_PROVIDER, 10000, 0, this);
lm.requestLocationUpdates(LocationManager.NETWORK_PROVIDER, 10000, 0,
this);

mc = mapView.getController();
mc.setZoom(10);

myLocation = new MyLocationOverlay(getApplicationContext(), mapView);
myLocation.runOnFirstFix(new Runnable() {
public void run() {
mc.animateTo(myLocation.getMyLocation());
mc.setZoom(10);
}
});


LocationManager locationManager;
String context = Context.LOCATION_SERVICE;
locationManager = (LocationManager)getSystemService(context);
String provider = LocationManager.GPS_PROVIDER;
lm.requestLocationUpdates(LocationManager.GPS_PROVIDER, 10000, 0, this);
Location location = locationManager.getLastKnownLocation(provider);
locationManager.getProvider(provider);
if(!locationManager.isProviderEnabled(provider)){
locationManager.setTestProviderEnabled(provider, true);
}
boolean enabled = locationManager.isProviderEnabled(provider);
if(enabled){

Toast.makeText(getBaseContext(),
"provide enabled : Latitude = " + lat + " Longitude = " + lng+" Altitude = " + alt,
Toast.LENGTH_SHORT).show();

}
else{
Toast.makeText(getBaseContext(),
"provider disabled : Latitude = " + lat + " Longitude = " + lng+" Altitude = " + alt,
Toast.LENGTH_SHORT).show();

}
if(location!=null){
lat = location.getLatitude();
lng = location.getLongitude();
alt = location.getAltitude();
Toast.makeText(getBaseContext(),
"providerrr enabled : Latitude = " + lat + " Longitude = " + lng+" Altitude = " + alt,
Toast.LENGTH_SHORT).show();
}
else{
Toast.makeText(getBaseContext(),
"location not found : Latitude = " + lat + " Longitude = " + lng+" Altitude = " + alt,
Toast.LENGTH_SHORT).show();
}



mapView.getOverlays().add(myLocation);
if (myLocation.isMyLocationEnabled()!=false)
{
GeoPoint p =myLocation.getMyLocation();
lat= p.getLatitudeE6();
lng= p.getLongitudeE6();
alt = location.getAltitude();
Toast.makeText(getBaseContext(),
"geolocalisation activé lat: "+lat+ " long: " +lng +" Altitude = " + alt,
Toast.LENGTH_SHORT).show();
}
else
{

Toast.makeText(getBaseContext(),
"geolocalisation desactivée" ,
Toast.LENGTH_SHORT).show();
}

// appel de la fonction insert values
insertvalues(lat, lng);
}

@Override
protected void onResume() {
super.onResume();
myLocation.enableMyLocation();
myLocation.enableCompass();
}

@Override
protected boolean isRouteDisplayed() {
return false;
}

@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_S) {
mapView.setSatellite(!mapView.isSatellite());
return true;
}
if (keyCode == KeyEvent.KEYCODE_T) {
mapView.setSatellite(!mapView.isTraffic());
return true;
}
return super.onKeyDown(keyCode, event);
}

@Override
public void onLocationChanged(Location location) {
lat = location.getLatitude();
lng = location.getLongitude();
Toast.makeText(
getBaseContext(),
"Location change to : Latitude = " + lat + " Longitude = "
+ lng, Toast.LENGTH_SHORT).show();
GeoPoint p = new GeoPoint((int) (lat * 1E6), (int) (lng * 1E6));
mc.animateTo(p);
mc.setCenter(p);
}

@Override
public void onProviderDisabled(String provider) {
}

@Override
public void onProviderEnabled(String provider) {
}

@Override
public void onStatusChanged(String provider, int status, Bundle extras) {
}


///// insert valeurs ....
public void insertvalues(double lat, double lng){




//http post c à d envoi des données
try{
HttpClient httpclient = new DefaultHttpClient();
HttpPost httppost = new

HttpPost("http://www.pizza-paris.com/clic/marwa/test/form.php?latitude="+lat+"&longitude="+lng);

HttpResponse response = httpclient.execute(httppost);
HttpEntity entity = response.getEntity();
InputStream is = entity.getContent();
Log.i("postData", response.getStatusLine().toString());

}

catch(Exception e)
{
Log.e("log_tag", "Error in http connection "+e.toString());
}


}
}

谢谢!

最佳答案

打开您的虚拟设备管理器并单击“编辑”。在 Hardware 部分单击 New 并添加 GPS 支持并将值更改为 true。现在启动模拟器并打开控制台。如果模拟器启动完成,请在控制台中键入 telnet localhost 5554。建立 telnet 连接后,您可以放置​​如下位置:geo fix 21.42 42

关于android gps 当前位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8616446/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com