XML ファイルのデータを使用してポリゴンを作成しようとしています。これまでポリゴンを使用したことがなく、基本機能を理解するために Google マップのドキュメントの例を調べましたが、例は機能しません。マーカーとポリラインを作成するために学習して使用した他のものとマージしようとしましたが、何かが欠けていて、ポリゴンが表示されないだけでなく、マップも表示されません。マップを表示するベース コードから始めて、そこから始めます。ポリゴンを構築するコードの追加を開始すると、マップが読み込まれなくなります。何かが足りないことはわかっていますが、これまでポリゴンを使用したことがないため、正確にはわかりません。
データに使用している XML ファイルの例を表示できます。ポリゴンを作成するためのコードは、「cap:polygon」という要素にあります。
http://www.mesquiteweather.net/xml/warnings.xml
ここに私がこれまでに持っているコードがあります...
<script type="text/javascript">
var lineColor = {
"Tornado Warning": "#FF0000",
"Severe Thunderstorm Warning": "#FFFF33",
"Flash Flood Warning": "#00FF00",
};
var infowindow = new google.maps.InfoWindow();
// start here
var thisurl = 'xml/warnings.xml';
function initialize() {
var myLatlng = new google.maps.LatLng(32.775833, -96.796667);
var myOptions = {
panControl: false,
zoom: 5,
mapTypeControl: true,
mapTypeControlOptions: {
style: google.maps.MapTypeControlStyle.DROPDOWN_MENU
},
zoomControl: true,
zoomControlOptions: {
style: google.maps.ZoomControlStyle.SMALL,
position: google.maps.ControlPosition.RIGHT_TOP
},
center: myLatlng,
mapTypeId: google.maps.MapTypeId.ROADMAP
}
map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);
function MyLogoControl(controlDiv) {
controlDiv.style.padding = '5px';
var logo = document.createElement('IMG');
logo.src = 'http://www.mesquiteweather.net/images/watermark_MW_GMap.png';
logo.style.cursor = 'pointer';
controlDiv.appendChild(logo);
google.maps.event.addDomListener(logo, 'click', function() {
window.location = 'http://www.mesquiteweather.net';
});
}
var logoControlDiv = document.createElement('DIV');
var logoControl = MyLogoControl(logoControlDiv);
logoControlDiv.index = 0; // used for ordering
map.controls[google.maps.ControlPosition.TOP_LEFT].push(logoControlDiv);
var eventWarnings;
downloadUrl(thisurl, function(data) {
var polygon = data.documentElement.getElementsByTagName("feed");
var warningCoords = new google.maps.LatLng(cap:polygon),
});
// Construct the polygon
eventWarnings = new google.maps.Polygon({
paths: warningCoords,
strokeColor: lineColor[cap:event],
strokeOpacity: 0.8,
strokeWeight: 2,
fillColor: lineColor[cap:event],
fillOpacity: 0.35
});
eventWarnings.setMap(map);
}
</script>
私はこの時点で立ち往生しており、何が欠けているのかわかりません。誰かが素晴らしいだろういくつかのアドバイスや提案を提供することができれば!
-ありがとう!