地図で地理クイズを作っています。さまざまな国の名前をランダムにロードするこの機能があります。
<h1>Can you locate
<script type="text/javascript">
generateCountry();
function generateCountry(){
filenames = [ "Greece", "France", "Italy", "United Kingdom", "Germany" ];
filename = filenames[Math.floor(Math.random()*filenames.length)];
document.write(filename);
}
</script>
on the map?
</h1>
私はGoogleマップを使用しています。関数で正しい国をクリックすると、正しいか間違っているかのアラートが表示されます。
function getCountry(latLng) {
geocoder.geocode( {'latLng': latLng},
function(results, status) {
if(status == google.maps.GeocoderStatus.OK) {
if(results[0]) {
for(var i = 0; i < results[0].address_components.length; i++) {
if(results[0].address_components[i].types[0] == "country") {
if(results[0].address_components[i].long_name == filename) {
alert("right");
generateCountry();
} else {
alert("wrong");
}
}
}
}
else {
alert("No results");
}
}
else {
alert("Status: " + status);
}
}
);
}
クイズが読み込まれると、たとえば最初の質問が表示されます。たとえば、フランスを地図上で見つけることができますか? マップの反応も良い。正しい国をクリックすると、その後のマップはファイル名変数の新しい国を認識しているように見えます。たとえば、他の国をクリックすると、最終的にドイツの権利が得られます。そのため、マップは適切に取得されているようです。問題は、上記の質問の名前がフランスからドイツまで変わらないことです。最初の質問の右側のアラートで [OK] をクリックした後、もちろんページ全体を再読み込みせずに新しい国名が読み込まれるようにするにはどうすればよいですか? 私はおそらく最善の方法を使用していないことを知っているので、助けとガイダンスをいただければ幸いです。