Как я могу настроить карту и удалить «слой POI»?

#javascript #google-maps #google-maps-api-3

#javascript #google-карты #google-maps-api-3

Вопрос:

На встроенной карте Google (например, здесь —https://www.familienfreunde.de/4.php?Nummer=132700000302 ) вы можете увидеть много интересного.

Я хотел бы их удалить.

 <script>
function initMap() {
  var latlng = new google.maps.LatLng(51.3267379,12.3653812);
  var myOptions = {
 zoom: 19,
 center: latlng,
 mapTypeControlOptions: {
 mapTypeIds: ["roadmap", "satellite"]
}
 };
  map = new google.maps.Map(document.getElementById("map"), myOptions);
  var box_html = "<h5>Gymnasium Gerda Taro Schule</h5><p>04107 Leipzig<br /><b><a href="4.php?Nummer=132700000302">Profil anzeigen</a></b></p>";
  var icon = new google.maps.MarkerImage('/bilder/marker4.png'); 
  var marker = add_marker(51.3267379,12.3653812,'Gymnasium Gerda Taro Schule',box_html,icon);
  marker.setMap(map);
        var box_html = "<h5>Rechtsanwalt Henry Bach</h5><p>04107 Leipzig<br /><b><a href="22.php?Nummer=378">Profil anzeigen</a></b></p>";
  var icon = new google.maps.MarkerImage('/bilder/marker22.png'); 
  var marker = add_marker(51.3339224,12.3741322,'Rechtsanwalt Henry Bach',box_html,icon);
  marker.setMap(map); }
function add_marker(lat,lng,title,box_html,icon) {
     var infowindow = new google.maps.InfoWindow({
     content: box_html
   });
     var marker = new google.maps.Marker({
      position: new google.maps.LatLng(lat,lng),
      map: map,
      icon: icon,
      title: title
    });
     google.maps.event.addListener(marker, 'click', function() {
   infowindow.open(map,marker);
  });
     google.maps.event.addListener(map, 'dragstart', function() {
    infowindow.close();
   });
     return marker;
    }
</script> 
<script src="https://maps.googleapis.com/maps/api/js?key=UNSERKEYamp;callback=initMap" async defer></script>
  

(Я только удалил еще несколько маркеров для большей ясности.)

Комментарии:

1. стиль карты. withgoogle.com — Установите видимость POI на hidden .

2. о, черт возьми. Тогда я использую неправильный API. Затем я должен перестроить весь код и сначала прочитать документацию. Большое спасибо!

3. Вы не используете неправильный API. Вам просто нужно добавить стиль к вашему экземпляру карты. Смотрите developers.google.com/maps/documentation/javascript/styling

4. @MrUpsidown прошло три года, и это не работает с идентификаторами карт для статических карт. Образец теряет их, но возвращенная карта все еще имеет их.

5. @mckenzm о чем ты говоришь? Это работает нормально, и все это задокументировано .

Ответ №1:

Вы могли бы попробовать отключить видимость POI с помощью свойства styles

     function initMap() {
      var latlng = new google.maps.LatLng(51.3267379,12.3653812);
      var myOptions = {
     zoom: 19,
     center: latlng,
     styles = [
        {
            featureType: "poi",
            elementType: "labels",
            stylers: [
                  { visibility: "off" }
            ]
        }
    ];
     mapTypeControlOptions: {
     mapTypeIds: ["roadmap", "satellite"]
    }
  

Комментарии:

1. в соответствии со стилями я заменил = на a :. И в конце; по a , теперь это работает. Большое вам спасибо.