カスタム画像でグーグルマップのクラスタリングを変更したいのですが。ただし、私が提供するものは何も変更されません。このinitMap関数は
https://developers.google.com/maps/documentation/javascript/marker-clustering
そして、グーグルからのランダムな画像でクラスター画像を変更しようとしました。ただし、何もレンダリングされません。
クラスタはカスタムクラスタイメージをサポートしていませんか?
function initMap() {
var map = new google.maps.Map(document.getElementById('map'), {
zoom: 3,
center: {lat: -28.024, lng: 140.887}
});
// Create an array of alphabetical characters used to label the markers.
var labels = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ';
// Add some markers to the map.
// Note: The code uses the JavaScript Array.prototype.map() method to
// create an array of markers based on a given "locations" array.
// The map() method here has nothing to do with the Google Maps API.
var markers = locations.map(function(location, i) {
return new google.maps.Marker({
position: location,
label: labels[i % labels.length]
});
});
// Add a marker clusterer to manage the markers.
var markerCluster = new MarkerClusterer(map, markers,
{imagePath: 'http://www.empowervate.org/wp-content/uploads/2015/11/circle.jpg'});
}
助けてくれてありがとう@henrisycip
以下のようなスタイルオプションを提供することで、クラスターイメージを変更することができました。 imagePathが何もしない理由がわかりません..
styles={[
{
url: "/static/images/cluster/m1.png",
height: 53,
width: 53
},
{
url: "/static/images/cluster/m2.png",
height: 53,
width: 53
},
{
url: "/static/images/cluster/m3.png",
height: 53,
width: 53
},
{
url: "/static/images/cluster/m4.png",
height: 53,
width: 53
},
{
url: "/static/images/cluster/m5.png",
height: 53,
width: 53
}
]}
これらの画像を読み込む特定の方法があります。これは、サンプルコードにリンクされているmarkerclusterer.jsライブラリが原因です。
指定したimagePath
を調べますが、image1、image2、image3などを探して繰り返されます。そのため、https://developers.google.com/maps/documentation/javascript/examples/markerclusterer/m
のデフォルトパスはm1の検索を開始するため、機能します。 png、m2.png、m3.pngなど。
これは、それがそれを行っていると言っているライブラリの部分です:
'imagePath': (string) The base URL where the images representing
* clusters will be found. The full URL will be:
* {imagePath}[1-5].{imageExtension}
* Default: '../images/m'.
コンソールを確認すると、次のようなものが表示されていると確信しています。
GET http://www.empowervate.org/wp-content/uploads/2015/11/circle.jpg1.png 404(見つかりません)
あなたが知る必要があるすべては実際には ドキュメント にあります。マーカークラスター.js、m1.png、m2.pngなどのコピーをダウンロードして、パスを独自のフォルダー構造に変更するように指示されていることがわかります。
画像パスの例は次のようになります:imagePath: 'http://www.empowervate.org/wp-content/uploads/2015/11/circle'
(circle1.png、circle2.pngなどがある場合)。
この前の質問も確認できます: マーカーを上書きせずにマーカークラスターにカスタム画像を追加
別の方法として、画像のURLの末尾に「&z =」(zは任意のパラメーター名にすることができます)を追加するだけで、好きな画像を使用できます。
これにより、自動追加された「[1 | 2 | 3] .png」がURLを変更するのを防ぎます。