Как получить широту / долготу от названия города для MapWisualization GWT? - PullRequest
2 голосов
/ 05 декабря 2011

Можно ли получить код широты и долготы Карт 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");
    }
}

Ответы [ 2 ]

1 голос
/ 07 декабря 2011

Это можно сделать с помощью Google Geocoding API .Например, чтобы найти значения lat и lng для Парижа, вы можете отправить

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

, а требуемые значения lat и lng содержатся в ответе JSON по ключу "location" внутри словаря "geometry":

 "geometry" : {
            ...
            "location" : {
               "lat" : 48.8566140,
               "lng" : 2.35222190
            },
0 голосов
/ 06 декабря 2011

Вам нужно скачать базу данных мест для городов, например , эту , и использовать ее для поиска при необходимости.

...