谷歌地图:添加硬编码标记循环

时间:2016-03-08 15:52:02

标签: javascript jquery google-maps

我正在使用jquery / Javascript循环标记及其存储在数据库中的信息。但是,除了这些标记之外,我还想在地图上使用默认标记,因为这个标记非常不同(列数较少),因此我不确定如何扩展现有逻辑以包含硬编码标记。基本上,额外的标记应该看起来像这样(到目前为止没有用,标记没有显示):

其他标记:

public class MyTable
{
    [PrimaryKey, AutoIncrement]
    public int Id { get; private set; }

    public MySerializable MySerValues { get; private set; }
}

完整代码(不含其他标记):

 var myLatLng = {lat: -25.363, lng: 131.044};

 var additionalmarker = new google.maps.Marker({
    position: myLatLng,
    map: lmap,
    title: 'Additional Marker!'
  });

1 个答案:

答案 0 :(得分:1)

循环似乎是正确的地方

for (var i=0; i<lMarkerCount; i++) {
var oMarkerLocation = oLocations.gps[1].marker[i];
var lLat = oMarkerLocation.lat;
var lLng = oMarkerLocation.lng;

/* new Marker Position */
var lMarker = new google.maps.Marker({
    position: new google.maps.LatLng(lLat, lLng),
    animation: google.maps.Animation.DROP,
    map: lMap
  });


/* check custom Marker Image in GPS Data*/
var lGpsImg = oMarkerLocation.img;
var lParImg = lParameter.marker_icon;

if (lGpsImg && lGpsImg.length != 0) {
   var lMarkerImage = new google.maps.MarkerImage(lGpsImg);
} 
else {
   /* no custom image in GPS data but maybe in the parameters? */
   if (lParImg && lParImg.length != 0) {
      var lMarkerImage = new google.maps.MarkerImage(lParImg);
    } else {
      lMarkerImage = "";
    }
}
if (lMarkerImage && lMarkerImage.length != 0) {
   lMarker.setIcon(lMarkerImage);
}

google.maps.event.addListener(lMarker, 'click', (function(lMarker, i) {
    return function() {
      infowindow.setContent(oLocations.gps[1].marker[i].name);
      infowindow.open(lMap, lMarker);
    }
  })(lMarker, i));

}     

var myLatLng = {lat: -25.363, lng: 131.044};

var additionalmarker = new google.maps.Marker({
  position: myLatLng,
  map: lmap,
  title: 'Additional Marker!'
});