Следующий вызов даст вам уровень масштабирования, если вы можете предоставить ему соответствующий объект прямоугольных границ:
GMap2.getBoundsZoomLevel(bounds)
а как рассчитать границы?
Вы можете вручную пометить каждую исходную запись прямоугольником, определенным «на глаз», используя карту, и попросить кого-нибудь ввести значения.
В идеале вам нужны данные, и, к счастью, в DBPedia есть много данных.
Моя геометрия и алгебра немного ржавые, но с некоторыми из них я уверен, что вы можете вычислить прямоугольник, учитывая область местоположения, которое вы хотите просмотреть. (Может начинаться с квадратного корня, если предполагается квадратный город, или переставить πr 2 , если предположить круговой)
Попробуйте этот запрос, чтобы извлечь области регионов.
PREFIX geo: <http://www.w3.org/2003/01/geo/wgs84_pos#>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX dbpedia2: <http://dbpedia.org/property/>
SELECT ?url, ?label, ?lat, ?long, ?area WHERE {
?url geo:lat ?lat .
?url geo:lat ?long .
?url rdfs:label ?label . FILTER ( lang(?label) = 'en' ) .
?url dbpedia2:area ?area . FILTER ( datatype(?area) = xsd:double )
} LIMIT 10
Вам нужно будет кэшировать результаты или загружать их в более быстрый, более локальный источник данных, так как DBPedia ищет миллионы троек неструктурированных данных (в том числе данных RDF). Вы можете загрузить наборы данных Titles, Infobox и координат из DBPedia и загрузить их, например, в. Jena. Не забудьте отключить все параметры проверки во время загрузки: -)
Вы также можете получить доступ к этим данным, используя RESTful API , который имеет достаточно удобную веб-форму и позволяет получить URL-адрес, который генерируется с помощью «Копировать кнопку ссылки для загрузки» в окне загрузок Firefox или настройки формат вывода в HTML. Он также генерирует XML и JSON .
Не забудьте добавить поля для городов шаткой формы ...