如何禁用谷歌地图V3上的地方

How to disable places on google map V3?

本文关键字:V3 何禁用 谷歌地图      更新时间:2023-09-26

我试图将我的应用程序迁移到最新版本的谷歌地图API,发现谷歌默认将自己的项目从谷歌地点目录添加到地图。它与我自己的记录在一起看起来不正确,因为它在地图上创建了可以正确放置的重复项目。

是否有一个选项如何隐藏这个本地业务或控制显示什么和不显示什么?

下面是示例代码:
<!DOCTYPE html>
<html>
  <head>
    <title>Google Maps JavaScript API v3 Example: Map Simple</title>
    <meta name="viewport"
        content="width=device-width, initial-scale=1.0, user-scalable=no">
    <meta charset="UTF-8">
    <style type="text/css">
      html, body, #map_canvas {
        margin: 0;
        padding: 0;
        height: 100%;
      }
    </style>
    <script type="text/javascript"
        src="http://maps.googleapis.com/maps/api/js?sensor=false"></script>
    <script type="text/javascript">
      var map;
      function initialize() {
        var myOptions = {
          zoom: 16,
          center: new google.maps.LatLng(37.422833333333,25.323166666667),
          mapTypeId: google.maps.MapTypeId.ROADMAP
        };
        map = new google.maps.Map(document.getElementById('map_canvas'),
            myOptions);
      }
      google.maps.event.addDomListener(window, 'load', initialize);
    </script>
  </head>
  <body>
    <div id="map_canvas"></div>
  </body>
</html>

正如你在地图上看到的,有几个小图标,你可以点击,信息会出现在气泡中。我需要隐藏这些图标,或者至少禁用此项目的点击事件

只是一个指针-这似乎可能与自定义样式的地图。如果我没有弄错的话,您正在寻找的特征类型将是poi.business,其visiblity将变为off

有一个向导可以帮助你构建选项数组

您可以通过添加以下代码来删除它:

var styles = [
   {
     featureType: "poi",
     stylers: [
      { visibility: "off" }
     ]   
    }
];
var styledMap = new google.maps.StyledMapType(styles,{name: "Styled Map"});

隐藏地图功能与样式示例页面解释了如何实现这一点。

styles属性添加到options对象并列出要隐藏的featureTypes

const map = new google.maps.Map(document.getElementById("map"), {
  center: { lat: -33.86, lng: 151.209 },
  zoom: 13,
  mapTypeControl: false,
  styles: [
    // Repeat this object for each feature.
    {
      featureType: "poi.business",
      stylers: [{ visibility: "off" }],
    },
  ],
});

有更多的自定义映射的例子,样式向导(参见"more options")也非常有用,正如其他人指出的。