如何将数据库中存储的多边形绘制到Google地图上

角度M

对于有角度的Google地图,我希望可以将存储的标记多边形数组绘制到地图上。

我使用的技术是:带有JavaScript的Angular版本1,使用angular指令和templateUrl。

这是我的html指令模板:

<ui-gmap-google-map center="config.map.center" zoom="config.map.zoom" options="config.map.options" events="config.map.events" draggable="true">

        <ui-gmap-polygon path="compatiblePolygon" stroke="polygonConfig.stroke" fill="polygonConfig.fill" fit="true" static="true" visible="polygonConfig.visible" editable="polygonConfig.editable" draggable="polygonConfig.draggable" clickable="true" events="polygonConfig.events">
        </ui-gmap-polygon>

        <ui-gmap-markers models="compatiblePoints" coords="'self'" idKey="'id'"
            options="pointsConfig.options"
            clickable="true">
        </ui-gmap-markers>

        <ui-gmap-drawing-manager options="config.drawing.options" static="true" control="drawingManagerControl" events="config.drawing.events"></ui-gmap-drawing-manager>

    </ui-gmap-google-map>
扎斯兰

您需要将多边形作为编码字符串存储在数据库中,而不是多边形坐标。您可以按以下方式获取编码的多边形:

/* This function save latitude and longitude to the polygons[] variable after we call it. */
    function encodePolygon(polygon)
    {
        //This variable gets all bounds of polygon.
        var path = polygon.getPath();

        var encodeString = 
        google.maps.geometry.encoding.encodePath(path);

        /* store encodeString in database */
    }

然后,您可以随时使用以下方法从编码字符串中重绘多边形:

function DrawPolygon(encodedString){
    var decodedPolygon =   
   google.maps.geometry.encoding.decodePath(encodedString);

            var polygon = new google.maps.Polygon({
                paths: decodedPolygon,
                editable: false,
                strokeColor: '#FFFF',
                strokeOpacity: 0.8,
                strokeWeight: 2,
                fillColor: '#FFFF',
                fillOpacity: 0.35
            });
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

在Google地图上绘制多边形

如何在Google地图上删除绘制的多边形

如何使用带有derby数据库的jsf在Google地图上动态创建多边形?

如何使用Array中的坐标在Google地图上绘制多边形

无法在Google地图上绘制多边形

将数据的多边形类型存储在SQLite数据库中

如何在Angular中的地图上动态绘制多边形的形状

使用来自 SQLite 数据库 Android 的坐标在 Google 地图中创建多边形

使用谷歌地图将多边形坐标保存到数据库

使用set latlong从GoogleMap中的数据库绘制多边形

如何在Google地图上以距用户输入点已定义的距离(米)绘制多边形(矩形)

如何在MySQL数据库中插入多边形并检查传递的多边形是否在其中?

ggmap包在地图上绘制填充的多边形

我的多边形是否正确插入到数据库中?

PostgreSQL数据库中的多边形+圆

如何使用 PostGIS 扩展将多边形插入数据库

在谷歌地图上显示数据多边形

如何从谷歌地图上完全删除圆,多边形

如何在地图上添加多边形

使用从我的数据库中检索到的数据在地图上绘制标记

将谷歌地图上的绘图多边形保存到mysql中

如何将数据点从数据框添加到斯洛伐克行政区域的多边形地图?

使用Google地图在多边形内绘制较小的多边形

无法在Google地图中绘制多边形

使用JavaScript在Google地图中绘制多边形

从Firestore数据库检索GeoPoint数组添加地图多边形

如何使用 Shiny 中的 locator() 函数在绘图上绘制多边形?

在Leaflet.js中,如何将地图聚焦在外部JS突出显示的多边形上?

如何将 MySQL 数据库中的数据存储到由 id 索引的数组中?