Javascript 如何在具有多边形的同一地图上显示自定义标记?

Javascript 如何在具有多边形的同一地图上显示自定义标记?,javascript,google-maps-api-3,google-maps-markers,Javascript,Google Maps Api 3,Google Maps Markers,这是本例的当前代码,我正在尝试让自定义标记显示在地图上,该地图也高亮显示了一个多边形。下面的脚本是javascript <script> function initialize() { var mapOptions = { zoom: 10, center: new google.maps.LatLng(48.545936,-122.765734), mapTypeId: google.maps.MapTypeId.ROADMAP }; var bermudaTriangle;

这是本例的当前代码,我正在尝试让自定义标记显示在地图上,该地图也高亮显示了一个多边形。下面的脚本是javascript

<script>
function initialize() {
var mapOptions = {
zoom: 10,
center: new google.maps.LatLng(48.545936,-122.765734),
mapTypeId: google.maps.MapTypeId.ROADMAP
};

var bermudaTriangle;

var marker1 = new google.maps.Marker({
      map: map,
      position: new google.maps.LatLng(48.3544181, -123.138301),
      draggable: false,
      title: 'Troll Fishing2',
      icon: "/images/fish.png"
    });


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

 // Define the LatLng coordinates for the polygon's path. Note that there's
 // no need to specify the final coordinates to complete the polygon, because
 // The Google Maps JavaScript API will automatically draw the closing side.
 var triangleCoords = [
 new google.maps.LatLng(48.7286, -122.8688),
 new google.maps.LatLng(48.677, -122.7733),
 new google.maps.LatLng(48.6901, -122.7507)
 ];

 bermudaTriangle = new google.maps.Polygon({
  paths: triangleCoords,
  strokeColor: '#FF0000',
  strokeOpacity: 0.8,
  strokeWeight: 3,
  fillColor: '#FF0000',
  fillOpacity: 0.35
 });

 bermudaTriangle.setMap(map);
 }

 google.maps.event.addDomListener(window, 'load', initialize);
 </script>

函数初始化(){
变量映射选项={
缩放:10,
中心:新google.maps.LatLng(48.545936,-122.765734),
mapTypeId:google.maps.mapTypeId.ROADMAP
};
百慕大角变异;
var marker1=新的google.maps.Marker({
地图:地图,
位置:新google.maps.LatLng(48.3544181,-123.138301),
可拖动:错误,
标题:“巨魔钓鱼2”,
图标:“/images/fish.png”
});
var map=new google.maps.map(document.getElementById('map-canvas'),
地图选项);
//定义多边形路径的板条坐标
//无需指定最终坐标来完成多边形,因为
//GoogleMapsJavaScriptAPI将自动画出最后的一面。
var triangleCoords=[
新的google.maps.LatLng(48.7286,-122.8688),
新google.maps.LatLng(48.677,-122.7733),
新google.maps.LatLng(48.6901,-122.7507)
];
bermudaTriangle=新建google.maps.Polygon({
路径:三角形门,
strokeColor:“#FF0000”,
笔划不透明度:0.8,
冲程重量:3,
填充颜色:'#FF0000',
不透明度:0.35
});
百慕大陆角。设定图(map);
}
google.maps.event.addDomListener(窗口“加载”,初始化);

任何建议都将不胜感激。

在初始化映射后将marker1的定义移动到(或在映射初始化后调用.setMap(map))


谢谢,老兄,你说得对,我刚才在摆弄电话。setMap(地图),现在可以了!如果这回答了你的问题,请
 var map = new google.maps.Map(document.getElementById('map-canvas'),
  mapOptions);

var marker1 = new google.maps.Marker({
      map: map,
      position: new google.maps.LatLng(48.3544181, -123.138301),
      draggable: false,
      title: 'Troll Fishing2',
      icon: "/images/fish.png"
    });