Note that there are some explanatory texts on larger screens.

plurals
  1. POPassing GPS LonLat from Android GPS to WebPage (javascript)
    primarykey
    data
    text
    <p>I have the following code but the lon/lat seems to be returning null;</p> <pre><code>package com.domain.www; import android.app.Activity; import android.content.Context; import android.content.pm.ActivityInfo; import android.location.Location; import android.location.LocationListener; import android.location.LocationManager; import android.location.Criteria; import android.os.Bundle; import android.webkit.WebView; import android.webkit.WebViewClient; public class WebMapActivity extends Activity implements LocationListener { private static final String MAP_URL = "http://www.yahoo.com/"; private WebView webView; private Location mostRecentLocation; @Override /** Called when the activity is first created. */ public void onCreate(Bundle savedInstanceState) { try { super.onCreate(savedInstanceState); setContentView(R.layout.main); getLocation(); setupWebView(); this.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT); } catch (Exception e) { e.printStackTrace(); } } /** Sets up the WebView object and loads the URL of the page **/ private void setupWebView() { /* final String centerURL = "javascript:centerAt(" + mostRecentLocation.getLatitude() + "," + mostRecentLocation.getLongitude() + ")"; */ webView = (WebView) findViewById(R.id.webview); webView.getSettings().setJavaScriptEnabled(true); webView.setWebViewClient(new WebViewClient() { @Override public void onPageFinished(WebView view, String url) { String jsCode = "javascript:alert('" + getMostRecentLocation("lon") + "')"; webView.loadUrl(jsCode.toString()); } }); webView.loadUrl(MAP_URL); } /** * The Location Manager manages location providers. This code searches for * the best provider of data (GPS, WiFi/cell phone tower lookup, some other * mechanism) and finds the last known location. **/ private void getLocation() { LocationManager locationManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE); Criteria criteria = new Criteria(); criteria.setAccuracy(Criteria.ACCURACY_FINE); String provider = locationManager.getBestProvider(criteria, true); // In order to make sure the device is getting location, request // updates. locationManager.requestLocationUpdates(provider, 1, 0, // this); //locationManager.requestLocationUpdates(provider, 1, 0, this); setMostRecentLocation(locationManager.getLastKnownLocation(provider)); } /** Sets the mostRecentLocation object to the current location of the device **/ @Override public void onLocationChanged(Location location) { setMostRecentLocation(location); } /** * The following methods are only necessary because WebMapActivity * implements LocationListener **/ @Override public void onProviderDisabled(String provider) { } @Override public void onProviderEnabled(String provider) { } @Override public void onStatusChanged(String provider, int status, Bundle extras) { } /** * @param mostRecentLocation the mostRecentLocation to set */ public void setMostRecentLocation(Location mostRecentLocation) { this.mostRecentLocation = mostRecentLocation; } /** * @return the mostRecentLocation */ public double getMostRecentLocation(String lonLat) { double gValue = 0.00; try { Location xx = this.mostRecentLocation; //Used as a breakpoint if(lonLat == "lat") gValue = this.mostRecentLocation.getLatitude(); if(lonLat == "lon") gValue = this.mostRecentLocation.getLongitude(); } catch (Exception e) { e.printStackTrace(); } return gValue; } } </code></pre> <p>Ignore the URL bit that would be a page with a google map on it; but for debugging purposes I'd prefer it to just spit out an alert with the values in it.</p> <p>Any ideas whats wrong? Target Emulators (Google API 1.5 API(3))</p> <p>Thanks</p>
    singulars
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload