Google Maps Api getting the title from the marker

半世苍凉 提交于 2019-12-22 09:47:36

问题


When I push a marker to the array it plots the marker correctly and adds a title to the array too.

I know this works because when I console.log the console.log(markersArray); it returns the following. the title of the marker is next door.

The below is my marker click that opens up the info window, but when I console.log out the data which is called mll it doesn't have the title inside it.

google.maps.event.addListener(marker, 'click', function(mll) {
    console.log(mll);
    var html= "<div style='color:#000;background-color:#fff;padding:5px;width:150px;'><p>"+mll+"</p></div>";
    iw = new google.maps.InfoWindow({content:html});
    iw.open(map,marker);
});

How would I be able to get the click function to pull in the title when the array has it and has pushed it successfully?


回答1:


I remember doing something similar before. In my case, I used infoWindows with circle markers. Essentially, I had both in separate arrays. When I made the circle marker, I gave it a unique value, called place, which was basically it's count (the value of the n-th circle created, was n). On the event listener, I called the infoWindow from the other array based on the position of the current circle.

You can make an array var titles = []; to hold titles. Each time you make a new marker, increment a var count = 0;, keeping track of how many markers you have. In your marker options, add place: count. When you need a specific title, you can call titles[marker.place];

  var infos = []; 
  var count = 0; 

  var map = new google.maps.Map(document.getElementById('map-canvas'), mapOptions);

  var lastWindow; 

  count++;
  var populationOptions = {
    //leaving out defaults
    place: count
  };

  var circle = new google.maps.Circle(populationOptions);
  lastCircle = circle; 

  var contentString = 'just a string...';

  var infowindow = new google.maps.InfoWindow({
    content: contentString,
    position: new google.maps.LatLng(data.lon, data.lad)
  });

  infos.push(infowindow); 

  google.maps.event.addListener(circle, 'mouseover', function() {
    if(lastWindow){
      lastWindow.close(); 
    }

    infos[circle.place].open(map);
    lastWindow = infos[circle.place]; 
  });


来源:https://stackoverflow.com/questions/23461249/google-maps-api-getting-the-title-from-the-marker

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!