Когда пользователь нарисовал многоугольник в Картах Google, используя встроенный диспетчер чертежей, я сохраняю путь многоугольника. Я хочу преобразовать этот путь многоугольника в путь SVG, чтобы я мог воспроизводить форму многоугольника, нарисованную легко, без необходимости загрузки дополнительных карт и вызовов в API Карт Google.Преобразование пути многоугольника Google Maps к пути SVG
Я уверен, что это всего лишь довольно тривиальная математика, но не может решить, как это сделать. Нужно ли создавать ограничительную рамку вокруг точек и переводить ее в LatLng 0, 0 перед ее уменьшением или я могу сделать что-то более простое, используя только координаты LatLng для каждой точки?
Я нашел много вопросов, требующих достижения противоположности, преобразование SVG в многоугольник карты, но не это. Любой, указывая мне в правильном направлении, оценил.
Работает отлично. Без использования декодирования и использования одного полигона мне пришлось отформатировать мои данные следующим образом: var paths = []; polygon.getPaths(). ForEach (function (x) { paths.push (x.getArray()); }); – chris22smith
@ Dr.Mollie спасибо за образец кода! У меня ужасное время, пытаясь сделать рендер полигона как контур, а не заполненный. Просто изменив атрибут fill на none и установив штрих, заполните весь SVG цветом штриха, и ни одна из моих попыток настроить формат пути не сработала. У вас есть понимание того, как можно достичь контура? –
@DaveMorro: установите заливку 'g' в' none' и желаемый штрих для 'path' (вместо' g') https://jsfiddle.net/doktormolle/eg58oupw/ –