【问题标题】:google maps api 3 - show specific continent onlygoogle maps api 3 - 仅显示特定大陆
【发布时间】:2013-05-20 20:21:07
【问题描述】:

请帮忙。我用谷歌搜索并经历了堆栈溢出,但无法在任何地方找到此信息。有没有办法只显示一个特定的大陆,在我的例子中是非洲,并在谷歌地图中隐藏所有其他不需要的大陆。这些地图根本不应该显示。我偶然发现了这篇文章-> Can i hide land masses with Google Maps API

但是没有具体的例子。

我正在使用 Google Maps API 3。

目前我有:

<script type="text/javascript"
                src="https://maps.googleapis.com/maps/api/js?key=mykey&sensor=true">
        </script>
        <script type="text/javascript">
            function initialize() {

                //Implement map styling
                var styles = [
                    {
                        "stylers": [
                            {"visibility": "simplified"}
                        ]
                    }
                ];


                var styledMap = new google.maps.StyledMapType(styles, {name: "MyMap"});

                var mapOptions = {
                    center: new google.maps.LatLng(0.972198, 23.994141),
                    zoom: 3,
                    mapTypeId: google.maps.MapTypeId.ROADMAP,
                    panControl: false,
                    zoomControl: false,
                    streetViewControl: false,
                    mapTypeControl: false,
                    mapTypeIds: [google.maps.MapTypeId.ROADMAP, 'map_style'],
                    draggable: false,
                    scrollwheel: false,
                    panControl: false

                };


                var map = new google.maps.Map(document.getElementById("map-canvas"), mapOptions);

                //Load kml of africa
                var kmlMap = new google.maps.KmlLayer('http://myOverLay.kmz',
                        {
                            //suppressInfoWindows: false,
                            //map: map,
                            preserveViewport: true
                        });
                kmlMap.setMap(map);

                //map.mapTypes.set();

                //Associate the styled map with the MapTypeId and set it to display.
                map.mapTypes.set('map_style', styledMap);
                map.setMapTypeId('map_style');

            }


            google.maps.event.addDomListener(window, 'load', initialize);
        </script> 

【问题讨论】:

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


    【解决方案1】:

    一个选项:

    1. 覆盖整个世界,除了您选择的大陆上的一个洞。 example of concept (US state of Virginia)
    2. 限制缩放和边界以防止地图太远而无法显示该大陆。 description of how to limit the viewable area

    【讨论】:

    • 如果我有现有的 KML 勾勒我的大陆,我可以自动反转还是必须手动重新创建 KML? @geocodezip
    • 这取决于您如何显示它。在多边形中创建“洞”的方式是让外部多边形(整个世界)与内部多边形(您的大陆)的方向相反。你可以试试看能不能行,如果不行的话先把外多边形的缠绕方向反转一下。
    【解决方案2】:

    似乎不可能。最终使用了图像映射器

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-04-23
      • 1970-01-01
      • 2017-09-02
      相关资源
      最近更新 更多