Javascript 单击标记而不是删除标记时,应如何创建自定义菜单

Javascript 单击标记而不是删除标记时,应如何创建自定义菜单,javascript,google-maps-api-3,google-maps-markers,Javascript,Google Maps Api 3,Google Maps Markers,这是我到目前为止所做的代码,当我添加标记并悬停时,会出现infowindow,但它们都有相同的infowindow,我需要为每个标记更改它,第二,我想在标记的顶部创建一个自定义菜单框,在单击标记时,应该有添加信息和删除的选项,而不是单击该标记 <html> <head> <title>example</title> <script src="https://maps.googleapis.com/maps/api/js?sensor=f

这是我到目前为止所做的代码,当我添加标记并悬停时,会出现infowindow,但它们都有相同的infowindow,我需要为每个标记更改它,第二,我想在标记的顶部创建一个自定义菜单框,在单击标记时,应该有添加信息和删除的选项,而不是单击该标记

<html>
<head>

<title>example</title>


<script src="https://maps.googleapis.com/maps/api/js?sensor=false"></script>
<script src="http://code.jquery.com/jquery-1.9.1.js"></script>


<style type="text/css">

#map_canvas {
        width: 100%;
        height: 500px;
        background-color: #CCC;}

#menu_bar{
        width: 100%;
        height: 150px;
        position:absolute;
        bottom:0px;
        background-color:#008080;
        border-top:1px solid red;}

body{
        padding:0px;
        margin:0px;}




</style>
<!-- google maps Scripting start -->
<script type="text/javascript">

var markers = [];
 function initialize() {
  var myLatlng = new google.maps.LatLng(44.5403, -78.5463);
  var mapOptions = {
    zoom: 4,
    center: myLatlng
  }
  var map = new google.maps.Map(document.getElementById('map_canvas'), mapOptions);

    google.maps.event.addListener(map, 'click', function(event) {
        addMarker(event.latLng);
      });


    // add marker to positon
    function addMarker(location) {
         var marker = new google.maps.Marker({
                position: location,
                map: map
            });
            // deleting
    google.maps.event.addListener(marker, 'click', function(event) {
        this.setMap(null);
        });

            // adding info window to gMaps


                    var infowindow = new google.maps.InfoWindow({
                         content: "holdings content area"
                    });

                     google.maps.event.addListener(marker, 'mouseover', function() {
                         infowindow.open(map, this);
                    });

                    // assuming you also want to hide the infowindow when user mouses-out
                    google.maps.event.addListener(marker, 'mouseout', function() {
                        infowindow.close();
                    });


         markers.push(marker);
        }

    // Sets the map on all markers in the array.
        function setAllMap(map) {
          for (var i = 0; i < markers.length; i++) {
            markers[i].setMap(map);

          }
        }

}

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

</script>
<!-- google maps Scripting ends -->





</head>

<body>
<div id="map_canvas"></div>
<div id="menu_bar">




</div>



</body>
</html>

例子
#地图画布{
宽度:100%;
高度:500px;
背景色:#CCC;}
#菜单栏{
宽度:100%;
高度:150像素;
位置:绝对位置;
底部:0px;
背景色:#008080;
边框顶部:1px纯红;}
身体{
填充:0px;
边距:0px;}
var标记=[];
函数初始化(){
var mylatng=newgoogle.maps.LatLng(44.5403,-78.5463);
变量映射选项={
缩放:4,
中心:myLatlng
}
var map=new google.maps.map(document.getElementById('map_canvas'),mapOptions);
google.maps.event.addListener(映射,'click',函数(事件){
添加标记(事件标记);
});
//将标记添加到位置
功能添加标记(位置){
var marker=new google.maps.marker({
位置:位置,,
地图:地图
});
//删除
google.maps.event.addListener(标记,'click',函数(事件){
此.setMap(null);
});
//向gmap添加信息窗口
var infowindow=new google.maps.infowindow({
内容:“控股内容区”
});
google.maps.event.addListener(标记'mouseover',函数(){
打开(地图,这个);
});
//假设您还希望在用户鼠标移出时隐藏信息窗口
google.maps.event.addListener(标记'mouseout',函数(){
infowindow.close();
});
标记器。推(标记器);
}
//在阵列中的所有标记上设置贴图。
函数setAllMap(映射){
对于(var i=0;i
首先在html中创建一个菜单或弹出窗口或任何您想要的内容,然后将此html复制到javascript变量中,接下来创建gMap infoWindow并将内容设置为自定义设计,最后一步将事件绑定到标记,然后打开infoWindow

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

  var popup= '<div>Design your whatever styled popup you want</div>';

  var infowindow = new google.maps.InfoWindow({
      content: popup
  });

  var marker = new google.maps.Marker({
      position: myLatlng,
      map: map,
      title: 'ABC'
  });
  google.maps.event.addListener(marker, 'click', function() {
    infowindow.open(map,marker);
  });
var-map=new google.maps.map(document.getElementById('yourmap'),mapOptions);
var popup='设计您想要的任何样式的弹出窗口';
var infowindow=new google.maps.infowindow({
内容:弹出窗口
});
var marker=new google.maps.marker({
职位:myLatlng,
地图:地图,
标题:“ABC”
});
google.maps.event.addListener(标记'click',函数(){
信息窗口。打开(地图、标记);
});

在创建时将onclick事件绑定到标记,并在GMAPAPI的onclick启动信息框中。。。