したがって、アイデアは、マーカーの「アイコン」プロパティを変更することです。私はJavaScriptがあまり得意ではないので、それは本当に私を夢中にさせます。私が持っているのは、空白(図面なし)のマーカーを初期化するマップです。次に、divの左側にいくつかの選択肢があります。
私が欲しいのは、その特定のインスタンスの(マーカー)アイコンのグラフィックを変更することです。
これはこれまでの私のコードです。マップの外にあるいくつかのオプションに従って、このアイコンの画像を変更するリスナーを何らかの方法でアタッチする必要があります。
<script type="text/javascript">
var zind = google.maps.Marker.MAX_ZINDEX;
var $map;
var $latlng;
var overlay;
function initialize() {
var $latlng = new google.maps.LatLng(<?php echo $model->lat; ?>, <?php echo $model->lon; ?>);
var myOptions = {
zoom: 16,
center: $latlng,
mapTypeId: google.maps.MapTypeId.ROADMAP,
mapTypeControlOptions: {
style: google.maps.MapTypeControlStyle.DROPDOWN_MENU,
position: google.maps.ControlPosition.TOP_LEFT },
zoomControl: true,
zoomControlOptions: {
style: google.maps.ZoomControlStyle.LARGE,
position: google.maps.ControlPosition.LEFT_TOP
},
scaleControl: true,
scaleControlOptions: {
position: google.maps.ControlPosition.TOP_LEFT
},
streetViewControl: false,
panControl:false
};
$map = new google.maps.Map(document.getElementById("map"),
myOptions);
var Vmarker = new google.maps.Marker({
position: $latlng,
title: 'Point A',
map: $map,
icon: '<?php echo Yii::app()->request->baseUrl; ?>/images/library/td_icons/map/ico_blanco.png',
zIndex: 500,
draggable: true
});
overlay = new google.maps.OverlayView();
overlay.draw = function() {};
overlay.setMap($map);
Vmarkerのアイコンプロパティを変更したい場合にこのようなものを追加しましたが、どのように行うべきかわかりませんか?
$(document).ready(function() {
initialize();
$("#ico_beer").click(function() {
var icon = $(this).attr('src');
google.maps.event.addListener(Vmarker, 'click', function() {
Vmarker.icon : icon;
});
});