Android 无法解析google maps latlngObject
我发现latlngObject无法解决。这是我导入的一个项目,latlngObject应该来自谷歌地图 如果你能帮助我,我会很感激的! 我发现latlngObject无法解决。这是我导入的一个项目,latlngObject应该来自谷歌地图 如果你能帮助我,我会很感激的!Android 无法解析google maps latlngObject,android,google-maps,Android,Google Maps,我发现latlngObject无法解决。这是我导入的一个项目,latlngObject应该来自谷歌地图 如果你能帮助我,我会很感激的! 我发现latlngObject无法解决。这是我导入的一个项目,latlngObject应该来自谷歌地图 如果你能帮助我,我会很感激的! 为您的问题添加更多内容。latlngObject来自哪里?发布完整的代码 package com.danielZomber.places.control.service; import org.json.JSONArray
为您的问题添加更多内容。latlngObject来自哪里?发布完整的代码
package com.danielZomber.places.control.service;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
import util.SearchNear;
import android.app.IntentService;
import android.content.ContentValues;
import android.content.Intent;
import android.util.Log;
import android.widget.EditText;
import com.danielZomber.places.R;
import com.danielZomber.places.control.GoogleAccess;
import com.danielZomber.places.model.PlacesContract;
public class ServiceSearch extends IntentService {
private static final String TAG = "ServiceSearch";
String query;
Double Nlat;
Double Nlng;
public ServiceSearch() {
super("ServiceSearch");
}
@Override
protected void onHandleIntent(Intent intent) {
String action = intent.getAction();
query = intent.getStringExtra("query");
Nlat = intent.getDoubleExtra("lat", 0);
Nlng = intent.getDoubleExtra("lng", 0);
if (action.equals("com.danielZomber.places.action.PLACE")) {
Log.d(TAG, "searchPlace ACTION");
searchPlace();
} else if (action.equals("com.danielZomber.places.action.NEAR")) {
Log.d(TAG, "searchNear ACTION");
searchNear();
}
}
private void searchPlace() {
if (query == null || query.length() < 2) {
//don't search for queries less then 2 letters
return;
}
getContentResolver().delete(PlacesContract.Places.CONTENT_URI, null, null);
String result = GoogleAccess.searchPlace(query, Nlat, Nlng);
Log.d(TAG, result);
try {
JSONObject jsonResult = new JSONObject(result);
JSONArray resultsArray = jsonResult.getJSONArray("results");
for (int i = 0; i < resultsArray.length(); i++) {
Log.d(TAG, "result " + i);
JSONObject place = resultsArray.getJSONObject(i);
String address = place.getString("formatted_address");
String name = place.getString("name");
double lat = latlngObject.getDouble("lat");
double lng = latlngObject.getDouble("lng");
Log.d(TAG, name);
Log.d(TAG, address);
ContentValues values = new ContentValues();
values.put(PlacesContract.Places.NAME, name);
values.put(PlacesContract.Places.ADDRESS, address);
values.put(PlacesContract.Places.LAT, lat);
values.put(PlacesContract.Places.LNG, lng);
getContentResolver().insert(PlacesContract.Places.CONTENT_URI, values);
}
} catch (JSONException e) {
e.printStackTrace();
}
}
private void searchNear() {
if (query == null || query.length() < 2) {
return;
}
getContentResolver().delete(PlacesContract.Places.CONTENT_URI,null,null);
String result = SearchNear.searchPlaceNear(query, Nlat, Nlng);
try {
JSONObject placesJson = new JSONObject(result);
JSONArray resultsArray = placesJson.getJSONArray("results");
Log.d(TAG, "array ");
for (int i = 0; i < resultsArray.length(); i++) {
Log.d(TAG, "parsing " + i);
JSONObject placeObject = resultsArray.getJSONObject(i);
JSONObject locationObject = placeObject.getJSONObject("geometry");
JSONObject latlngObject = locationObject.getJSONObject("location");
String name = placeObject.getString("name");
double lat = latlngObject.getDouble("lat");
double lng = latlngObject.getDouble("lng");
String address = placeObject.getString("vicinity");
ContentValues values = new ContentValues();
values.put(PlacesContract.Places.NAME, name);
values.put(PlacesContract.Places.LAT , lat);
values.put(PlacesContract.Places.LNG , lng);
values.put(PlacesContract.Places.ADDRESS , address);
//insert to the provider:
getContentResolver().insert(PlacesContract.Places.CONTENT_URI, values );
}
} catch (JSONException e) {
e.printStackTrace();
}
Log.d(TAG,"result - " + result);
}
}