是否有可能只从城市名称或街道名称获取Google地图的纬度和经度代码?
例如:我只想要巴黎(法国)的纬度和经度代码,因此我可以将其用于Google的MapVisualization(Google Web Toolkit,Google App Engine和RPC)。
因为每个城市每次都能找到纬度和经度代码非常不方便。
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 :(得分:1)
这可以通过Google Geocoding API来完成。例如,要查找Paris的lat和lng,您可以提交
GET
http://maps.googleapis.com/maps/api/geocode/json?address=Paris,+France&sensor=false
并且所需的lat和lng包含在JSON响应中的“几何”字典中名为“location”的键中:
"geometry" : {
...
"location" : {
"lat" : 48.8566140,
"lng" : 2.35222190
},
答案 1 :(得分:0)
您需要下载城市的位置数据库,例如this one,并在需要时使用它来查找它们。