2014-10-09 2 views
0

У меня есть активность, которая показывает список POI, извлеченный из документа JSON. Когда я нажимаю элемент списка, он открывает приложение Карты Google и показывает относительную точку на карте.Ошибка получения местоположения Google Карт от JSON

Это работает на эмуляторе, но не на физических устройствах, потому что он ищет координаты, такие как xx, xxxxxxx, вместо xx.xxxxxxx: возвращает ошибку «Нет результатов».

Обратите внимание, что язык пользовательского интерфейса устройства является итальянским.

Это образец JSON:

[ 
     { 
     "id": "1", 
     "latitude": "48.8586006", 
     "longitude": "2.2939799", 
     "city": "Paris", 
     "description": "Tour Eiffel" 
    } 
] 

и это отрывок из MyActivity:

try { 
         JSONArray jarray = new JSONArray(loadJSON()); 
         JSONObject jobject = jarray.getJSONObject(0); 
         String urlAddress = "http://maps.google.com/maps?q="+ jobject.getString("latitude") +"," + jobject.getString("longitude") +"("+ jobject.getString("description") + " - " + jobject.getString("city") + ")&iwloc=A&hl=it"; 
         Intent intent = new Intent(android.content.Intent.ACTION_VIEW, Uri.parse(urlAddress)); 
         intent.setClassName("com.google.android.apps.maps", "com.google.android.maps.MapsActivity"); 
         startActivity(intent); 
         break; 
        } catch (JSONException e) { 
         e.printStackTrace(); 
        } 

ответ

0

очень странная ситуация, загружаете JSON:

private String loadJSON(){ 
    return "[{\"id\": \"1\","+ 
      "\"latitude\": \"48.8586006\","+ 
      "\"longitude\": \"2.2939799\","+ 
      "\"city\": \"Paris\","+ 
      "\"description\": \"Tour Eiffel\""+ 
      "}];"; 
} 

с метод:

private void loadGoogleMap(){ 
    try { 
     JSONArray jarray = new JSONArray(loadJSON()); 
     JSONObject jobject = jarray.getJSONObject(0); 
     String urlAddress = "http://maps.google.com/maps?q="+ jobject.getString("latitude") +"," + jobject.getString("longitude") +"("+ jobject.getString("description") + " - " + jobject.getString("city") + ")&iwloc=A&hl=it"; 
     Log.e(TAG, "urlAddress : " + urlAddress); 
     Intent intent = new Intent(android.content.Intent.ACTION_VIEW, Uri.parse(urlAddress)); 
     intent.setClassName("com.google.android.apps.maps", "com.google.android.maps.MapsActivity"); 
     startActivity(intent); 

    } catch (JSONException e) { 
     e.printStackTrace(); 
    } 
} 

Загрузите этот URL в Google Maps:

http://maps.google.com/maps?q=48.8586006,2.2939799(Tour Eiffel - Париж) & iwloc = A & гектолитров = это

Я думаю, что это должно быть проблема, связанная с кэшем, попробуйте очистить Google отображает кэш!

Смежные вопросы