【问题标题】:Find Places Nearby in Google Maps using Google Places API使用 Google Places API 在 Google 地图中查找附近的地点
【发布时间】:2015-12-14 11:26:51
【问题描述】:

http://javapapers.com/android/find-places-nearby-in-google-maps-using-google-places-apiandroid-app/

本 Android 教程旨在了解如何使用 Google Places API 在 Google 地图中查找附近的地点。然后应用程序运行并单击它不会传递 googlePlacesJson 值的按钮,然后它返回 null。

12-14 15:06:16.266 6095-6095/com.example.tony_.test_no E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.example.tony_.test_no, PID: 6095
java.lang.NullPointerException
    at com.example.tony_.test_no.PlacesDisplayTask.onPostExecute(PlacesDisplayTask.java:42)
    at com.example.tony_.test_no.PlacesDisplayTask.onPostExecute(PlacesDisplayTask.java:18)
    at android.os.AsyncTask.finish(AsyncTask.java:632)
    at android.os.AsyncTask.access$600(AsyncTask.java:177)
    at android.os.AsyncTask$InternalHandler.handleMessage(AsyncTask.java:645)
    at android.os.Handler.dispatchMessage(Handler.java:102)
    at android.os.Looper.loop(Looper.java:157)
    at android.app.ActivityThread.main(ActivityThread.java:5867)
    at java.lang.reflect.Method.invokeNative(Native Method)
    at java.lang.reflect.Method.invoke(Method.java:515)
    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:858)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:674)
    at dalvik.system.NativeStart.main(Native Method)
12-14 15:06:17.938 6095-6095/com.example.tony_.test_no D/Process: killProcess, pid=6095

【问题讨论】:

    标签: android google-maps


    【解决方案1】:

    请检查下面的代码

    public class PlacesDisplayTask extends AsyncTask<Object, Integer, List<HashMap<String, String>>> {
    
            JSONObject googlePlacesJson;
            GoogleMap googleMap;
    
            @Override
            protected List<HashMap<String, String>> doInBackground(Object... inputObj) {
    
                List<HashMap<String, String>> googlePlacesList = null;
                Places placeJsonParser = new Places();
    
                try {
                    googleMap = (GoogleMap) inputObj[0];
                    googlePlacesJson = new JSONObject((String) inputObj[1]);
                    googlePlacesList = placeJsonParser.parse(googlePlacesJson);
                } catch (Exception e) {
                    Log.d("Exception", e.toString());
                }
                return googlePlacesList;
            }
    
            @Override
            protected void onPostExecute(List<HashMap<String, String>> list) {
                googleMap.clear();
                for (int i = 0; i < list.size(); i++) {
                    MarkerOptions markerOptions = new MarkerOptions();
                    HashMap<String, String> googlePlace = list.get(i);
                    double lat = Double.parseDouble(googlePlace.get("lat"));
                    double lng = Double.parseDouble(googlePlace.get("lng"));
                    String placeName = googlePlace.get("place_name");
                    String vicinity = googlePlace.get("vicinity");
                    LatLng latLng = new LatLng(lat, lng);
                    markerOptions.position(latLng);
                    markerOptions.title(placeName + " : " + vicinity);
                    googleMap.addMarker(markerOptions);
                }
            }
        }
    

    【讨论】:

    • 这里是onPostExecute Null 值请看能做什么
    • 你得到了 Null,可能你没有互联网连接
    猜你喜欢
    • 2013-06-27
    • 1970-01-01
    • 1970-01-01
    • 2017-06-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-11-06
    相关资源
    最近更新 更多