0

以下のようなデータ配列があり、ボタンをクリックして Google マップに表示できます::

var locations = [
[50.6343356475971,-9.53181026267496,"small_red","AGH","AGH1","GAS25"],
[40.2185001907869,0.928586419184371,"meassle_grey","BES1","BES","GAS23"],
[52.1400374749101,-7.50501915638024,"small_blue","DUB1","DUB","GAS24"],

クラスごとにアイコンを定義するために、次のことを試しましたが成功しませんでした:

function selectIcon(locations) {
  for (var i = 0; i < locations.length; i++) {      //Loop trough List of Data
  if (locations[i][2] ==  "small_red") {
    iconIMG = new google.maps.MarkerImage("Link to the iconAAA.png");
  if (locations[i][2] ==  "small_blue") {
    iconIMG = new google.maps.MarkerImage("Link to the iconBBB.png");
  };

問題は、3 つの場所すべてで常に「iconBBB.png」がすべてのマーカーに表示されることです。

4

1 に答える 1

0

それで、あなたの問題はどこですか?コードは問題ないように見えますが、if の後のセミコロンを省略してください (しかし、それは問題ではありません:

if (locations[i][2] ==  "small_red") {...};  // <-- remove the semicolon here

また、関数をどこかで呼び出す必要があります。

selectIcon(locations);
于 2013-02-01T14:38:24.017 に答える