Google Maps и границы районов, улиц итд на карте

[offtopic]
А при чём тут гугл? Ни одного упоминания в тексте…
[/offtopic]

да очевидно же, что проект на гуглоапи.

ну проект использует google maps … и соответственно google api :slight_smile:

А что границы районов и геометрия улиц берётся из OpenStreetMap — так пользователю об этом знать не нужно.

Так и вижу изумлённых пользователей:
— чё за х…я, вот же улица, почему она не находится?
— это чё, вот у меня пустая карта, а улица нашлась О_о

Яндекс же рисовал пробки где нет улиц.

Да, это путь Яндекса: граф дорог (роутинг и пробки) - отдельно, картинка с картой - отдельно.

А вот для этого вам бы выбросить к чертям MySQL и воспользоваться PostGIS, там пространственные функции для этого и предназначены, ответ на ваш вопрос будет давать не просто “php-скрипт”, а SQL-запрос к БД.

А что, пространственные функции в MySQL настолько плохи?

Они, скажем так, довольно рудиментарны.

Это, возник доп вопрос …

попробовал тут построить … хмм …
вообщем вот запрос: http://nominatim.openstreetmap.org/search?q=%D1%83%D0%BB%D0%B8%D1%86%D0%B0%20%D0%91%D0%B5%D0%BB%D0%B8%D0%BD%D1%81%D0%BA%D0%BE%D0%B3%D0%BE,%20%D0%9D%D0%B8%D0%B6%D0%BD%D0%B8%D0%B9%20%D0%9D%D0%BE%D0%B2%D0%B3%D0%BE%D1%80%D0%BE%D0%B4&country=ru&format=xml&polygon_geojson=1&addressdetails=1&_=1418987171296

возвращает все норм … строю, и получаю вот такое http://i.lpx.pw/g/t/l/h/2531.jpg
тип координат учитываю, считаю что LineString = Polyline в гугл api
совершенно не понятно почему есть промежутки итд …

считаю что каждый “вернутый” place в ответе, это отдельная “линия/полгион” и между собой по сути они не связаны


собственно, мне-б хотелось иметь нормальную обводку улицы … по краям что-б на карте стояла итд … это вообще возможно?

готового решения для такого нет.

ну, мне тут только же координаты корректные нужны … как я понял их нету :confused:

Тебе я так понимаю что-то типа такого нужно:
Улица (JSON), Админграница (JSON)

Если да, могу расширить покрытие на РФ и выкладывать дампы на основе которых работает эта тулза, если возьмешь на себя частичную оплату хостинга

2olehz
в целом да … это какими средствами сделано?
в целом у меня есть сервера и мощьности что-бы это сделать … мне просто надо понимание чего где

Немного модифицированый imposm3 + постобробка SQL-запросами для того чтобы связать объекты друг с другом. Т.е. фактически то, что советовали выше: “выбросить к чертям MySQL и воспользоваться PostGIS”

я не понимаю, чем мне то поможет, если в osm возвращаются “кривые” координаты (не полные) …
мне поможет только если будут возвращаться правильные координаты …

Вообще, я вот что заметил …
рисую “Нижегородский район, Нижний Новгород”
запрос: http://nominatim.openstreetmap.org/search?q=%D0%9D%D0%B8%D0%B6%D0%B5%D0%B3%D0%BE%D1%80%D0%BE%D0%B4%D1%81%D0%BA%D0%B8%D0%B9%20%D1%80%D0%B0%D0%B9%D0%BE%D0%BD,%20%D0%9D%D0%B8%D0%B6%D0%BD%D0%B8%D0%B9%20%D0%9D%D0%BE%D0%B2%D0%B3%D0%BE%D1%80%D0%BE%D0%B4&country=ru&format=xml&polygon_geojson=1&addressdetails=1&_=1418987171296

получаю на выходе: http://i.lpx.pw/g/t/z/l/8916.jpg
я понимаю, что гипотетически “Зеленый город” можно как-то там отнести к Нижегородскому р-ну (хотя и сомневаюсь), но что за линия идет такая между р-ном и городом?

строю вообще границы города: http://nominatim.openstreetmap.org/search?q=%D0%9D%D0%B8%D0%B6%D0%BD%D0%B8%D0%B9%20%D0%9D%D0%BE%D0%B2%D0%B3%D0%BE%D1%80%D0%BE%D0%B4&country=ru&format=xml&polygon_geojson=1&addressdetails=1&_=1418987171296
получаю линию идующию снизу карты к границам города … откуда, почему … хз …

вообщем есть может какая-то возможно получать нормальные и корректные координаты? пусть будет не osm даже … что-то открытое главное и что-б по запросу (api) можно было получить координаты

Не вдаваясь в детали, мне кажется вы не правильно распарсили xml. Граница района состоит из двух полигонов. У вас они построены как один. Соответственно последняя точка первого соединена с первой точкой второго. Отсюда ваш весёлый графический глитч.

_http://Россия.Нижний_Новгород.рф/устав/границы - Тут самые точные данные.

2Felis Pimeja
дык … мне один полигон то вернулся … или я что-т не понял?
где прочитать как парсить их и так далее

всмысле, вот у меня есть ответ от сервиса: nominatim (вверху линка) … как мне его правильно распарсить что-б отобразить на карте?
кстати, по районам возвращается тип Polygon, а не MultiPolygon - в котором пересечения вроде как есть

2freeExec, не понял :confused: что за линк такой … что не робит

А да … похоже немного не правильно разбираю координаты что возвренулись … блин … буду думать :]