googlemapマイマップからkmlを抽出しオーバーレイさせています。
ですが、動作がとても不安定で
マーカーが表示されたりされなかったりします。
apiキーは取得し、下記を書き換えてもだめでした。
<meta name="viewport" content="initial-scale=1.0, user-scalable=no" /> <script type="text/javascript" src="http://maps.googleapis.com/maps/api/js?sensor=false&hl=ja"></script> <script type="text/javascript"> function initialize() { var initPos = new google.maps.LatLng(35.8788443, 137.0211659); var myOptions = { noClear : true, center : initPos, zoom : 6, mapTypeId : google.maps.MapTypeId.ROADMAP }; var mapCanvas = new google.maps.Map(document.getElementById("map_canvas"), myOptions); var ctime = (new Date()).getTime(); var kmlUrl = "/gmp/810o.kml?t="+ctime; var ctaLayer = new google.maps.KmlLayer(kmlUrl, { suppressInfoWindows : true, //←kmlレイヤーで情報ウインドウを開かないようにするこれ map: map_canvas, preserveViewport: true }); ctaLayer.setMap(mapCanvas); var infoWnd = new google.maps.InfoWindow(); google.maps.event.addListener(ctaLayer, "click" ,function(kmlMouseEvent) { infoWnd.setContent(kmlMouseEvent.featureData.infoWindowHtml); infoWnd.setPosition(kmlMouseEvent.latLng); infoWnd.setOptions({ maxWidth: 400, }); infoWnd.open(mapCanvas); }); } function createMarker(latlng,html,map,category,name) { google.maps.event.addListener(marker, 'click', function() { infoWindow.setContent(html); infoWindow.open(map,marker); }); } </script> </head> <body onload="initialize()"> <div id="map_canvas" style="width:940px; height:500px"></div> </body>
コードはコードブロックで囲んでいただけませんか? ```(バッククオート3つ)で囲み、前後に改行をいれるか、コードを選択して「<code>」ボタンを押すとコードブロックになります。また、エラーは出ていませんか?デベロッパーツールで確認してみてください。http://www.buildinsider.net/web/chromedevtools/01
codeブロックで囲みました。
初めてなもので、すみませんでした…
エラー、出てました。InvalidValueError: setMap: not an instance of Map
エンジニアでもなんでもなく、WEBの知識が全くないので丸投げしてしまいました。ちょっと上記のエラーが何なのか調べてみます。