Если вы используете плагин библиотеки InfoBox, он позволяет разместить маркер с заданной координатой lat/long. Когда вы нажимаете маркер, вы можете отображать окно содержимого. Он также позволяет использовать смещение в пикселях от этой координаты, поэтому вы можете перемещать поле по отношению к маркеру.
http://google-maps-utility-library-v3.googlecode.com/svn/tags/infobox/1.1.5/src/infobox.js
Ниже, в MarkerOptions, есть свойство контента, который позволяет поместить в любой HTML. У меня есть объект со многими маркерами, поэтому я использую здесь инструкцию for
и сохраняю маркер и маркеры в массивах.
marker = new google.maps.Marker({
map: map,
draggable: false,
position: new google.maps.LatLng(parksMarkerInfo[r].coordinates[0], parksMarkerInfo[r].coordinates[1]),
visible: true,
icon: "http://www.travelalaska.com/~/media/Images/Travel%20Alaska/Maps/Parks/park-marker.png",
});
markerOptions = {
content: "<a href='http://"+window.location.host+"/Destinations/Parks%20and%20Public%20Lands/"+ (parksMarkerInfo[r].markerLink || parksMarkerInfo[r].markerLabel) +".aspx'>"+parksMarkerInfo[r].markerTranslation+"</a>"
,disableAutoPan: true
,pixelOffset: new google.maps.Size(parksMarkerInfo[r].offset[0], parksMarkerInfo[r].offset[1])
,boxStyle: {
textAlign: "left"
,fontSize: "12px"
,whiteSpace: "nowrap"
,lineHeight: "16px"
,fontWeight: "bold"
,fontFamily: "Tahoma"
}
,isHidden: false
,closeBoxURL: ""
,position: new google.maps.LatLng(parksMarkerInfo[r].coordinates[0], parksMarkerInfo[r].coordinates[1])
,pane: "floatPane"
,enableEventPropagation: false
,boxClass: "parkLabel"
};
parkMarker.push(marker);
parkOptions.push(markerOptions);
parkMarker[arrayLoc].infobox = new InfoBox(parkOptions[arrayLoc]);
parkMarker[arrayLoc].infobox.open(map, marker);
parkMarker[arrayLoc].infobox.close();
google.maps.event.addListener(parkMarker[arrayLoc], 'click', (function(marker, arrayLoc){
return function(){
for (h = 0; h < parkMarker.length; h++) {
if(parkMarker[h].infobox){
parkMarker[h].infobox.close();
}
}
marker.infobox.open(map, marker);
}
})(parkMarker[arrayLoc], arrayLoc));
Я использую JQuery Map Marker Plugin, и я могу разместить маркер везде, где захочу, с помощью lat/long. Я хочу попытаться разместить div сначала, а не использовать другой плагин, но если я не могу его решить, я попробую, если вы скажете :) – luidgi27
Позволяет ли вы размещать контент с маркером? Можете ли вы опубликовать свой код в своем вопросе? – brouxhaha
Да, это позволяет мне создавать infowindow и стиль ее с html и css, но infowindow расположен сверху. Я могу опубликовать свой код, но не помогу, так как у меня есть div в html-коде – luidgi27