Вопрос по – Маркировка улиц в Google Maps

6

Я хочу создать наложение на Картах Google, которое отображает разные улицы разными цветами.

В API Карт Google можно создавать маркеры и полигоны, которые покрывают определенные области.

Есть ли способ как-то разметить разные улицы?

Ваш Ответ

5   ответов
1
0

который используется для отображения наложения трафика на обычном сайте Google Maps.

Изменить: я только что посмотрел на код, и кажется, что даже Google решил, что это проще реализовать, просто создав линии трафика на сервере и перетянув их вниз как прозрачные наложения PNG.

1

оздать объекты GPolygon и / или GPolyline

Посмотрите наэти уроки

И если вы хотите получить координаты (широта, долгота) определенных улиц, вы можете взглянуть на исходный кодэта страница

Я не уверен, чтобы полностью понять ваш вопрос: вы хотите отметить некоторые улицы? в этом случае быстрым и грязным способом было бы получить координаты всех адресов улицы и построить GPolygon в соответствии с ними ...

0

эта ссылкаи я думаю, что это может вас заинтересовать. Это пакет JavaScript, который предоставляет функции для отображения нескольких маршрутов на Картах Google.

Это то, что вы искали?

3

как будто вы заинтересованы в том, чтобы показать некоторые специфические для приложения цвета для отображения карт Google (а не карт трафика).

Если это так, то вы должны проверить пользовательские оверлеи. Вы можете создать свои собственные прозрачные фоновые накладные плитки (с вашими цветными улицами), сопоставить их с плитками карт Google и затем наложить их на карту. Вы можете найти описание этого материала вСправочник по API Карт - Наложения.

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

Изменить: Хорошо, я попробовал это, и это былодовольно просто, Вам просто нужно захватить изображения плиток при загрузке страницы карт Google (для области, которую вы хотите наложить). Убедитесь, что вы отслеживаете исходные URL, потому что они имеют координаты x, y, которые вам понадобятся для написания метода наложения плиток.

Отредактируйте плитки с вашими цветными дорогами, а затем загрузите их на свой веб-сервер. Добавьте следующий код, чтобы использовать наложение на обычной карте:

var myCopyright = new GCopyrightCollection("© ");
myCopyright.addCopyright(new GCopyright('Demo',
              new GLatLngBounds(new GLatLng(-90,-180), new GLatLng(90,180)),
                0,'©2007 Google'));

// Create the tile layer overlay and 
// implement the three abstract methods                 
var tilelayer = new GTileLayer(myCopyright);

// properties of the tile I based my tile on
// v=w2.97&hl=en&x=38598&s=&y=49259&z=17&s=Galil.png
tilelayer.getTileUrl = function(point,  zoom) { 
    if (zoom == 17 && point.x == 38598 && point.y == 49259)
        return "../pics/times_square.png"; 
};

tilelayer.isPng = function() { return true;};
tilelayer.getOpacity = function() { return 1.0; }

var myTileLayer = new GTileLayerOverlay(tilelayer);
var map = new GMap2(document.getElementById("map"));
map.setCenter(new GLatLng(40.75740, -73.98590), 17);
map.addOverlay(myTileLayer)

Этот код перекрывает мойThing eats NY плитка:

при x = 38598 и y = 49259 при уровне увеличения 17.

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