0

カスタム StyledMapType を作成し、それを google.maps.overlayMapTypes に挿入して、このカスタム マップを別のレイヤーに描画します。残念ながら、次の JavaScript エラー メッセージが表示されました。

キャッチされていない TypeError: 未定義の main.js:9
(匿名関数) のメソッド 'apply' を呼び出せません main.js:9
d
L main.js:9
du
H.$
(匿名関数)

ブラウザで実行するコードは次のとおりです。

function initialize() {
  var pinkParksStyles = [
  {
    featureType: "all",
    stylers: [
      { saturation: -80 }
    ]
  },
  {
    featureType: "poi.park",
    stylers: [
      { hue: "#ff0023" },
      { saturation: 40 }
    ]
  }
  ];
  var pinkMapType = new google.maps.StyledMapType(pinkParksStyles,
    {name: "Pink Parks"});

  var mapOptions = {
    zoom: 11,
    center: new google.maps.LatLng(55.6468, 37.581),
    mapTypeControlOptions: {
      mapTypeIds: [google.maps.MapTypeId.ROADMAP]
    }
  };
  var map = new google.maps.Map(document.getElementById('map_canvas'),
    mapOptions);

  //Insert styled map in overlayMapTypes.
  map.overlayMapTypes.insertAt(0, pinkMapType);
  map.setMapTypeId(google.maps.MapTypeId.ROADMAP);
}

完全な例を確認するには、jsfiddle コードのリンクを次に示し ます。

ありがとう、フランソワ

4

1 に答える 1

0

まず、なぜこれをやりたいのかわかりません。ベース マップタイプのスタイルを設定する方が簡単ではないでしょうか? https://developers.google.com/maps/documentation/javascript/styling#styling_the_default_map

基本的に、overlayMapTypes で使用するマップタイプを作成するときは、getTile を定義する必要があります。こちらのドキュメントをご覧ください: https://developers.google.com/maps/documentation/javascript/maptypes#OverlayMapTypes StyledMap はそれを公開しません。

于 2012-05-25T13:41:12.430 に答える