2

是否有可能從一個城市名稱或街道名稱獲取Google地圖的緯度和經度代碼?例如:我只想要巴黎(法國)的緯度和經度代碼,所以我可以將它用於Google的MapVisualization(Google Web Toolkit,Google App Engine和RPC)。如何從GWT的MapVisualization的城市名稱獲取緯度/經度?

因爲它是非常不方便查找每個城市每一次的緯度和經度代碼..

提前感謝!

package com.practicum.client.out; 

import com.google.gwt.user.client.ui.Widget; 
import com.google.gwt.visualization.client.DataTable; 
import com.google.gwt.visualization.client.AbstractDataTable.ColumnType; 
import com.google.gwt.visualization.client.visualizations.MapVisualization; 
import com.google.gwt.visualization.client.visualizations.MapVisualization.Options; 


public class DataOutGoogleMap { 

public DataOutGoogleMap(Runnable runnable) { 
} 

public Widget createGoogleMapView() { 
    DataTable data = DataTable.create(); 
    data.addColumn(ColumnType.NUMBER, "Lat"); 
    data.addColumn(ColumnType.NUMBER, "Lon"); 
    data.addColumn(ColumnType.STRING, "Name"); 
    data.addRows(3); 

    data.setValue(0, 0, 52.37022); 
    data.setValue(0, 1, 4.89517); 
    data.setValue(0, 2, "This is Amsterdam"); 

    data.setValue(1, 0, 51.50813); 
    data.setValue(1, 1, -0.12801); 
    data.setValue(1, 2, "This is London"); 

    data.setValue(2, 0, "Paris, France"); // DONT WORK? 
    data.setValue(2, 1, ""); 
    data.setValue(2, 2, "This is Paris"); 

    Options options = Options.create(); 
    options.setEnableScrollWheel(true); 
    options.setMapType(MapVisualization.Type.NORMAL); 
    options.setShowTip(true); 

    return new MapVisualization(data, options, "400px", "300px"); 
    } 
} 

回答

0

您需要下載的位置的數據庫,用於城市,如this one,並用它在需要時查找起來。

1

這可以通過Google Geocoding API完成。例如,要查找巴黎的緯度和經度,你可以提交

GET 
http://maps.googleapis.com/maps/api/geocode/json?address=Paris,+France&sensor=false 

和預期的緯度和經度被包含在一個關鍵的JSON響應所謂的「位置」的一個「幾何」的字典裏:

"geometry" : { 
      ... 
      "location" : { 
       "lat" : 48.8566140, 
       "lng" : 2.35222190 
      }, 
相關問題