マップ上に複数のマーカーを表示し、それぞれに独自の情報ウィンドウを表示する必要があります。問題なく個々のマーカーを作成しましたが、それぞれの情報ウィンドウを作成する方法がわかりません。
ASP ベースの Web サイト内で V3 API を使用してマップを生成しています。マーカーは一連の DB レコードから作成されています。マーカーは、rs をループし、関連する変数で marker() を定義することによって作成されます。
var myLatlng = new google.maps.LatLng(lat,long);
var marker = new google.maps.Marker({
map: map,
position: myLatlng,
title: 'locationname',
icon: 'http://google-maps-icons.googlecode.com/files/park.png'
});
これにより、関連するすべてのマーカーが正しい場所に作成されます。
私が今しなければならないことは、そのマーカーに関連する情報とリンクを表示するために使用できる独自の情報ウィンドウをそれぞれに与えることです。
ソース
<script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false"></script>
<script language="javascript">
$(document).ready(function() {
//Google Maps
var myOptions = {
zoom: 5,
center: new google.maps.LatLng(-26.66, 122.25),
mapTypeControl: false,
mapTypeId: google.maps.MapTypeId.ROADMAP,
navigationControl: true,
navigationControlOptions: {
style: google.maps.NavigationControlStyle.SMALL
}
}
var map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);
<!-- While locations_haslatlong not BOF.EOF -->
<% While ((Repeat1__numRows <> 0) AND (NOT locations_haslatlong.EOF)) %>
var myLatlng = new google.maps.LatLng(<%=(locations_haslatlong.Fields.Item("llat").Value)%>,<%=(locations_haslatlong.Fields.Item("llong").Value)%>);
var marker = new google.maps.Marker({
map: map,
position: myLatlng,
title: '<%=(locations_haslatlong.Fields.Item("ldescription").Value)%>',
icon: 'http://google-maps-icons.googlecode.com/files/park.png',
clickable: true,
});
<%
Repeat1__index=Repeat1__index+1
Repeat1__numRows=Repeat1__numRows-1
locations_haslatlong.MoveNext()
Wend
%>
<!-- End While locations_haslatlong not BOF.EOF -->
google.maps.event.addListener(marker, 'click', function() {
infowindow.open(map,marker);
});
google.maps.event.addListener(marker, 'dblclick', function() {
map.setZoom(14);
});
});