javascript - How to find a certain marker on Google Map? - Stack Overflow

I have a table with search results and an array of markers for the results. Every element has an ID, an

I have a table with search results and an array of markers for the results. Every element has an ID, and if a user clicks on a marker, the page scrolls to the search result (I'm just changing window.location.hash).

Is it possible to do it vice-versa? Users click on the search result and the infoWindow for a marker appears.

I have a table with search results and an array of markers for the results. Every element has an ID, and if a user clicks on a marker, the page scrolls to the search result (I'm just changing window.location.hash).

Is it possible to do it vice-versa? Users click on the search result and the infoWindow for a marker appears.

Share Improve this question edited Jul 3, 2011 at 12:35 Trott 70.3k27 gold badges182 silver badges217 bronze badges asked Jul 3, 2011 at 9:17 Daniel J FDaniel J F 1,0642 gold badges16 silver badges31 bronze badges 1
  • "if a user clicks on a marker, the page scrolls to the search result " can you help me for this ? – Kanagasabapathy Rajkumar Commented Mar 14, 2014 at 10:37
Add a ment  | 

1 Answer 1

Reset to default 3

I assume you mean that in the map the marker associated to the search result scrolls into view?

As long as your search result has a click event that contains some unique identifier for the marker you want to appear, sure it will work. A site I'm currently managing has a sidebar of search results where when you click the result it will scroll the marker into view on the map and show the infowindow. The code invoked by the click handler looks something like so (sans some error handling and other uninteresting parts for your question):

function MarkerZoomTo(markerIdentifier) {
    pt = gMarkers[markerIdentifier].getPosition();
    newpt = new google.maps.LatLng(pt.lat() + .02, pt.lng());
    map.panTo(newpt);

    if (infoWindow) {
    infoWindow.close();
    }

    infoWindow.setContent(gMarkers[markerIdentifier].get('iwcontent'));
    infoWindow.setPosition(gMarkers[markerIdentifier].getPosition());

    infoWindow.open(map, gMarkers[markerIdentifier]);
}

I pass the unique marker identifier to the function, get the specific marker out of my marker array, get it's lat/lng position, create a LatLng object, and pan to that location.

The rest is just dressing to retrieve the content for the infowindow and set it's position which you could do any way you see fit.

And finally, just open the infowindow for the marker.

Good luck!

发布者:admin,转转请注明出处:http://www.yc00.com/questions/1745195712a4616077.html

相关推荐

  • javascript - How to find a certain marker on Google Map? - Stack Overflow

    I have a table with search results and an array of markers for the results. Every element has an ID, an

    13小时前
    40

发表回复

评论列表(0条)

  • 暂无评论

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信