で書かれHTML5
、ラップされたアプリケーションがありますPhoneGap
。
アプリケーションに地図があり、GPSでユーザーの位置を確認したい。
私はそれを次のように試しました:
JSには、マーカーの位置を変更する関数があります。
function GPS(lat, lon) {
alert('Now U move');
var CurrentPosition = new google.maps.LatLng(lat, lon);
markerMyLoc.setPosition(CurrentPosition);
}
Javaには、場所を考慮してJS関数を送信する関数があります。
public class MainActivity extends DroidGap {
private LocationManager locationManager;
private LocationListener locationListener;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
super.setIntegerProperty("splashscreen", R.drawable.splash);
super.loadUrl("file:///android_asset/www/XXX.html", 10000);
locationManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
locationListener = new GPSLocationListener();
locationManager.requestLocationUpdates(
LocationManager.GPS_PROVIDER,
0,
0,
locationListener);
}
}
GPSLocationListenerクラス:
public class GPSLocationListener implements LocationListener
{
@Override
public void onLocationChanged(Location location) {
if (location != null) {
GPScls MyGPS= new GPScls();
MyGPS.GPS(location.getLatitude(),location.getLongitude());
}
}
@Override
public void onProviderDisabled(String provider) {
// TODO Auto-generated method stub
}
@Override
public void onProviderEnabled(String provider) {
// TODO Auto-generated method stub
}
@Override
public void onStatusChanged(String provider, int status, Bundle extras) {
// TODO Auto-generated method stub
}
}
GPSclsクラス:
public class GPScls extends DroidGap {
public void GPS(double latitude,double longitude) {
super.loadUrl("javascript:GPS("+latitude+","+longitude+")");
}
}
警告:alert('Now U move');
表示されていませんが、誰かがこれを解決するのを手伝ってくれますか?