ここにある Google マーカー クラスタラーの例からすべてをコピーし、使用したいポイントのデータを変更しただけで、マーカーがマップに表示されません。理由はわかりますか (以下のコード)。
Chrome から 1 つの警告が表示されます
「リソースはスクリプトとして解釈されますが、MIME で転送されます...など...」「...data.json」
ただし、 document.write(data[i].lat) などを使用してデータを印刷すると、すべて正常に印刷されます...
<!DOCTYPE>
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>MarkerClusterer v3 Example</title>
<style type="text/css">
body {
margin: 0;
padding: 10px 20px 20px;
font-family: Arial;
font-size: 16px;
}
#map-container {
padding: 6px;
border-width: 1px;
border-style: solid;
border-color: #ccc #ccc #999 #ccc;
-webkit-box-shadow: rgba(64, 64, 64, 0.5) 0 2px 5px;
-moz-box-shadow: rgba(64, 64, 64, 0.5) 0 2px 5px;
box-shadow: rgba(64, 64, 64, 0.1) 0 2px 5px;
width: 600px;
}
#map {
width: 600px;
height: 400px;
}
</style>
<script type="text/javascript" src="http://google-maps-utility-library-v3.googlecode.com/svn/trunk/markerclusterer/src/markerclusterer.js"></script>
<script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false"></script>
<script src="http://code.jquery.com/jquery-latest.js"></script>
<script type="text/javascript" src="data.js"></script>
<script type="text/javascript" src="data.json"></script>
<script type="text/javascript">
var script = '<script type="text/javascript" src="../src/markerclusterer';
if (document.location.search.indexOf('compiled') !== -1) {
script += '_compiled';
}
script += '.js"><' + '/script>';
//document.write(script);
//document.write(data1);
//var obj = jQuery.getJSON("data.json");
document.write(data[0].lat);
//alert( obj.name === "lat" );
</script>
<script type="text/javascript">
function initialize() {
var center = new google.maps.LatLng(37.4419, -122.1419);
var map = new google.maps.Map(document.getElementById('map'), {
zoom: 3,
center: center,
mapTypeId: google.maps.MapTypeId.ROADMAP
});
var markers = [];
for (var i = 0; i < 2; i++) {
//var dataPhoto = data.photos[i];
var latLng = new google.maps.LatLng(data.lat,
data.lon);
var marker = new google.maps.Marker({
position: latLng
});
markers.push(marker);
}
var markerCluster = new MarkerClusterer(map, markers);
}
google.maps.event.addDomListener(window, 'load', initialize);
</script>
</head>
<body>
<h3>A simple example of MarkerClusterer (5 markers)</h3>
<p>
<a href="?compiled">Compiled</a> |
<a href="?">Standard</a> version of the script.
</p>
<div id="map-container"><div id="map"></div></div>
</body>
</html>
これがdata.jsonファイルの内容です...
var data = [{"lat":37.4419,"lon":37.4419}, {"lat":37.4419,"lon":50.36}, {"lat":37.4419,"lon":137.4419}];