次のコードを使用して Google マップ (API V3) にマーカーを追加しています。店舗の場所には XML ファイルを使用しています。
protected void Page_Load(object sender, EventArgs e)
{
string locations = "";
string lastlat = "", lastlng = "";
XDocument xmlDoc = XDocument.Load(Server.MapPath("~/App_Data/Map.xml"));
var query = from st in xmlDoc.Descendants("Position")
select st;
foreach (var p in query)
{
lastlat = p.Element("Latitude").Value;
lastlng = p.Element("Longitude").Value;
locations += "var marker = new google.maps.Marker({position: new google.maps.LatLng("
+ p.Element("Latitude").Value + ","
+ p.Element("Longitude").Value + "),info:\""
+ p.Element("Name").Value + "\",title:\""
+ p.Element("Name").Value + "\",map: map});marker.setMap(map)";
}
Label1.Text = locations;
js.Text = @"<script type='text/javascript'>function initialize() { var myLatlng = new google.maps.LatLng(" + lastlat + "," + lastlng + "); var myOptions = {zoom: 16, center: myLatlng, mapTypeId: google.maps.MapTypeId.ROADMAP } var map = new google.maps.Map(document.getElementById('map'), myOptions);" + locations + "marker.setMap(map);}</script>";
}
そしてこのコード
<body onload="initialize()">
<form id="form1" runat="server">
<table width="100%" border="1">
<asp:Literal ID="js" runat="server"></asp:Literal>
<div id="map" style="width:995px;height:600px;"></div>
</table>
</form>
</body>
しかし、ウェブページに地図を表示しません!!!
これにより、2つのエラーが発生します
Uncaught SyntaxError: Unexpected token var
Uncaught ReferenceError: initialize is not defined