【问题标题】:Google Maps version 3谷歌地图第 3 版
【发布时间】:2015-12-07 08:30:42
【问题描述】:

谷歌地图 v3 中 getVertexCount() 的替换是什么?请告诉我。我在 v3 的代码中使用了相同的方法,但它似乎不起作用。 v3 中的 getVertexCount() 是否有任何替代品,或者没有强制替代品?如果有替换功能,请告诉我。我正在提供我的 version2 代码的 initialize() 函数。请建议。以下是我的版本 2 代码的初始化函数:

function initialize() {
            if (GBrowserIsCompatible()) {

                // Initialize geocoder for address search
                geocoder = new GClientGeocoder();

                // Draw the map
                var startPoint = parseCoordinate(VALUE_SITE_COORDINATE);
                map = new GMap2(document.getElementById(ID_DIV_MAP_CANVAS));
                map.setCenter(startPoint, 13);
                map.setUIToDefault();

                // Listener for map mouse move event showing pointer coordinates
                GEvent.addListener(map, 'mousemove', function(latlng) {
                    document.getElementById(ID_INPUT_CURRENT_COORDINATE).value = latlng;
                });

                // Draw the main polygon
                var coordinates = parseCoordinates(VALUE_COORDINATES);
                if( coordinates.length  > 0)
                {
                    polygon = createPolygonOnInit(coordinates);
                    map.addOverlay(polygon);
                    if (polygon.getVertexCount() == MAX_VERTICES_RECTANGLE) {
                        createBackgroundPolygon();
                    }

                    adjustMapAppearance(map);
                }


                // Render polygon coordinates
                showCoordinates(coordinates);

                // Create our "tiny" marker icon
                var blueIcon = new GIcon(G_DEFAULT_ICON);
                blueIcon.image = "http://www.google.com/intl/en_us/mapfiles/ms/micons/blue-dot.png";

                // Set up our GMarkerOptions object
                markerOptions = { icon:blueIcon };
                map.addOverlay(new GMarker(startPoint, markerOptions));

                // Set initial state
                if (coordinates.length == 0) {
                    setState(STATE_NO_GEO_FENCE);
                } else {
                    setState(STATE_READ_GEO_FENCE);
                    prevstate = STATE_READ_GEO_FENCE;
                }
            }
        }

【问题讨论】:

  • 你需要做什么?您的 v3 代码是什么样的?我认为您可以使用getLength(),请参阅developers.google.com/maps/documentation/javascript/… ...但了解更多信息会有所帮助
  • 我需要将我的代码从谷歌地图版本 2 转换为谷歌地图版本 3。
  • ...所以在这里为初学者添加您的版本 2 代码
  • 我正在提供我的 version2 代码的 initialize() 函数。请提出建议。
  • 我认为查看createPolygonOnInit函数也会有所帮助

标签: google-maps google-maps-api-3 google-maps-api-2


【解决方案1】:

所以...

  • 你有一个坐标数组,
  • 你创建一个多边形
  • 如果多边形有 4 个顶点,则创建背景多边形

假设您已设法将所有其余代码重写为 v3(如果是这样,将其添加到您的问题中也会有所帮助),您只需要计算出最后一点来检查顶点),你可以试试:

path = polygon.getPath();
if (path.getLength() == MAX_VERTICES_RECTANGLE) {

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-01-11
    • 1970-01-01
    • 2010-12-22
    • 1970-01-01
    • 2015-01-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多