Вопрос по google-maps-api-3 – Как я могу отображать границы страны, границы США и города с помощью Карт Google?

2

Я использую Google Maps v3, и мне нужно добавить границы на карте для разных областей. Например, в Картах Google все границы штатов США отображаются автоматически. Мне нужно сделать одно и то же для разных стран. Например, показать все границы города в Англии. Как я могу сделать это с помощью Google Maps API v3?

Regards, Йосси

Чего именно ты хочешь достичь? Какие линии нужно добавить? Что значит «расколоть» государство или город? Мы не сможем вам помочь, если не сможем понять, чего вы пытаетесь достичь. Sean Mickey
Если я посмотрел на карту США, она разделена по разным штатам, например, Юте, Неваде, Портленду, каждый штат имеет деформацию в виде линий (границы). Я хочу достичь того же результата, но для страны, например, я хочу разделить все города в Англии, поэтому у меня есть два вопроса: 1. Как я могу добавить линии в разные города страны, чтобы у каждого города была граница 2 Как я могу найти все города для страны с API3? user1365697

Ваш Ответ

3   ответа
6

KML поддержка, предоставляемый в Картах Google, узнайте больше, просмотревKML Введение, а затем создать v3 KmlLayer. Координаты Lat-Lng, которые составляют границы страны, штата и города, не предоставляются в Google Maps из коробки, но некоторые вспомогательные данные доступны:

KML из Страны мира автор Валерий ХронусовKML из Мировые Столицы как создано FilipummeKML из Штаты США доступен для скачивания из Google Некоторые дополнительные городские данные доступны, но они часто бывают городскими и требуют онлайн-поиска, чтобы найти

Большая часть этих данных также доступна для динамического поиска как Fusion Tables, но в этом случае вы будете использовать общие общедоступные данные. Я использую KML для этого типа вещей, потому что я хочу иметь внутренние копии данных, сохранять полный контроль над данными и иметь возможность вносить свои собственные изменения или обновления.

1

Это недоступно в API.

(Возможно, он будет доступен в будущем. Функции Карт Google действительно переносятся в API, но Google не объявляет заранее)

Тебе нужно будет найти границы города и провести черту самостоятельно, наложением.

1

для таких известных границ, как канадские провинции. Попробуйте использовать Google Maps Engine. Нарисуйте свои границы на карте в виде замкнутых многоугольников. Затем щелкните папку и выполните «экспорт в KML». Формат длинный, широта, высота над уровнем моря (с несколькими точками). Это может быть легко преобразовано в другие форматы.

Например, я использовал простой Perl-скрипт для преобразования из KML в нужный мне формат.

while (<>) {
chop;
if (/<name>/) {
    s/<name>//g;
    s/<\/name>//g;
    s/^\s+//; # strip whitespace
    s/\s+$//; # strip whitespace
    print "<state colour=\"red\" name=\"$_\">\n";
}
if (/<coordinates/) {
    s/<coordinates>//;
    s/<\/coordinates>//;
    s/,0.0\s*/,/g;
    @array = split(",");
    for ($i = 0; $i < @array; $i = $i + 2) {
        if ($array[$i+1] && $array[$i]) {
                $array[$i+1] =~ s/^\s+//; # strip whitespace
                $array[$i+1] =~ s/\s+$//; # strip whitespace
                $array[$i] =~ s/^\s+//; # strip whitespace
                $array[$i] =~ s/\s+$//; # strip whitespace
                print  "<point lat=\"" . $array[$i+1] . "\" lng=\"" . $array[$i] . "\" \/>\n";

        }
    }
        print "</state>\n";
}

Похожие вопросы