Google maps 不同页面的不同谷歌标记

Google maps 不同页面的不同谷歌标记,google-maps,google-maps-api-3,google-maps-markers,Google Maps,Google Maps Api 3,Google Maps Markers,我试图实现谷歌地图到我的页面,但需要在不同的页面上根据页面风格不同的引脚。是否可以根据每次加载新页面时的动态生成标记(marker-blue.png、marker-red.png等) var myMarkers = 'images/'; var marker = new google.maps.Marker({ position: myLatlng, icon: myMarkers + 'marker-blue.png', map: map });

我试图实现谷歌地图到我的页面,但需要在不同的页面上根据页面风格不同的引脚。是否可以根据每次加载新页面时的
动态生成标记(marker-blue.png、marker-red.png等)

  var myMarkers = 'images/';
  var marker = new google.maps.Marker({
      position: myLatlng,
      icon: myMarkers + 'marker-blue.png',
      map: map
  });


  google.maps.event.addDomListener(window, 'load', initialize);

似乎您希望根据
标记显示带有图标的标记,因此,例如,如果主体的类别为
,则地图上应显示紫色标记

我将尝试将代码分为3部分

首先

var array = ['blue','red','yellow',"purple","green"], //array of random colors
    random = array[Math.floor(Math.random()* array.length)]; //get some random color
 console.log("the random color to the body tag will be: " + random)
 document.getElementById('test').className = random //apply some class name
function initialize() { //simple map initialization
  var myLatlng = new google.maps.LatLng(-25.363882,131.044922);
  var mapOptions = {
    zoom: 4,
    center: myLatlng
  }
  var map = new google.maps.Map(document.getElementById('map-canvas'), mapOptions);
  var marker = new google.maps.Marker({ //create the marker
      position: myLatlng,
      map: map,
      title: 'Hello World!',
      icon:"http://maps.google.com/mapfiles/ms/icons/" +random+ "-dot.png", //taking the random variable.
  });
}
这里我们创建一个数组,它的值将是静态颜色,我们使用数学方法获取数组的1个字符串(颜色),并将其像类一样放在标记上

var array = ['blue','red','yellow',"purple","green"], //array of random colors
    random = array[Math.floor(Math.random()* array.length)]; //get some random color
 console.log("the random color to the body tag will be: " + random)
 document.getElementById('test').className = random //apply some class name
function initialize() { //simple map initialization
  var myLatlng = new google.maps.LatLng(-25.363882,131.044922);
  var mapOptions = {
    zoom: 4,
    center: myLatlng
  }
  var map = new google.maps.Map(document.getElementById('map-canvas'), mapOptions);
  var marker = new google.maps.Marker({ //create the marker
      position: myLatlng,
      map: map,
      title: 'Hello World!',
      icon:"http://maps.google.com/mapfiles/ms/icons/" +random+ "-dot.png", //taking the random variable.
  });
}
在这里,我们只是将随机变量和concat放入图标字段上的图标值(从中获取图标链接)

第三

var test = document.getElementById('test').className; //get the actual classname of the body
console.log("the curren background color of the body is: " + test)
google.maps.event.addDomListener(window, 'load', initialize);//init the map
这里我们初始化映射,并且出于测试演示的目的,我们正在打印类名的值


这是工作原理,检查控制台并检查控制台以了解其工作原理。

嘿,谢谢,但是您是否可以使用更动态的东西,例如
开关(ClassName){case“bluetheme”:icon=“blue”;break;
很抱歉,我不太擅长javascript,所以只是即兴创作。另外,“第一页”从何而来?它不应该是“divToCheck”吗我刚刚粘贴了它。为了让它更易于阅读嘿,谢谢你的详细回复。我得到了
未捕获的TypeError:在我自己的页面上实现它时,无法将属性'className'设置为null
错误。我不知道这是否与我提供自己的图像有关:
图标:“\u assets/img/pin-“+random+”.png”
。还有一种方法可以在测试容器上设置类而不是随机生成它吗?ThanksI甚至尝试了以下
var myMarkers='../images/pin-;
(命名约定pin blue.png)。然后图标:
myMarkers+document.getElementById('HereYoGo')).className+'.png',
我的HTML
我仍然得到相同的错误,它似乎没有找到HereYoGo ID。。。