Карты Google v3 скрывают элементы (дороги, дорожные знаки и т. Д.) - PullRequest
24 голосов
/ 26 октября 2010

Я нашел фрагмент кода на http://www.41latitude.com/post/1268734799/google-styled-maps:

[
  {
    featureType: "administrative",
    elementType: "labels",
    stylers: [
      { visibility: "off" }
    ]
  },{
    featureType: "poi",
    elementType: "labels",
    stylers: [
      { visibility: "off" }
    ]
  },{
    featureType: "water",
    elementType: "labels",
    stylers: [
      { visibility: "off" }
    ]
  },{
    featureType: "road",
    elementType: "labels",
    stylers: [
      { visibility: "off" }
    ]
  }
]

Я должен иметь возможность использовать его на своих картах, но есть ли кто-нибудь, кто может сказать мне, как я могу использовать этот фрагмент?Я ничего не могу найти в API Карт Google V3.

Ответы [ 3 ]

37 голосов
/ 26 октября 2010

Как подсказывает @ ceejayoz в другом ответе , вы пытаетесь использовать новые функции Styled Map v3 Maps API . Вот очень простой пример того, как вы можете использовать вышеуказанный стиль на простой карте:

<!DOCTYPE html>
<html> 
<head> 
   <meta http-equiv="content-type" content="text/html; charset=UTF-8"/> 
   <title>Google Maps Dark Water Style Demo</title> 
   <script src="http://maps.google.com/maps/api/js?sensor=false" type="text/javascript"></script> 
</head> 
<body> 
   <div id="map" style="width: 550px; height: 300px;"></div> 

   <script type="text/javascript"> 
     var myStyle = [
       {
         featureType: "administrative",
         elementType: "labels",
         stylers: [
           { visibility: "off" }
         ]
       },{
         featureType: "poi",
         elementType: "labels",
         stylers: [
           { visibility: "off" }
         ]
       },{
         featureType: "water",
         elementType: "labels",
         stylers: [
           { visibility: "off" }
         ]
       },{
         featureType: "road",
         elementType: "labels",
         stylers: [
           { visibility: "off" }
         ]
       }
     ];

     var map = new google.maps.Map(document.getElementById('map'), {
       mapTypeControlOptions: {
         mapTypeIds: ['mystyle', google.maps.MapTypeId.ROADMAP, google.maps.MapTypeId.TERRAIN]
       },
       center: new google.maps.LatLng(30, 0),
       zoom: 3,
       mapTypeId: 'mystyle'
     });

     map.mapTypes.set('mystyle', new google.maps.StyledMapType(myStyle, { name: 'My Style' }));
   </script> 
</body> 
</html>

Скриншот:

alt text

Вы также можете попробовать Мастер стилей API Карт Google , который позволит вам графически редактировать стили.

5 голосов
/ 22 декабря 2015

Я знаю, что это 5 лет, но я наткнулся на это, и, по моему мнению, принятое решение намного сложнее, чем нужно. Учитывая JSON в исходном посте, вы бы применили стиль к существующей карте:

var mapStyle = [
  {
    featureType: "administrative",
    elementType: "labels",
    stylers: [
      { visibility: "off" }
    ]
  },{
    featureType: "poi",
    elementType: "labels",
    stylers: [
      { visibility: "off" }
    ]
  },{
    featureType: "water",
    elementType: "labels",
    stylers: [
      { visibility: "off" }
    ]
  },{
    featureType: "road",
    elementType: "labels",
    stylers: [
      { visibility: "off" }
    ]
  }
]

//create map
var map = new google.maps.Map(...); //This assumes you already have a working map

//set style
map.set('styles', mapStyle);
0 голосов
/ 26 октября 2010

На странице, на которую вы ссылаетесь, есть ссылка на документацию API Карт Google для этой функции .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...