Я создаю сайт недвижимости с картой, показывающей дома с их ценой. Мне нужен маркер, как маркер, используемый на airbnb.com. Как мне это сделать? Я использую это:создать марку google, содержащую цену
мне нужно что-то вроде этого:
Я создаю сайт недвижимости с картой, показывающей дома с их ценой. Мне нужен маркер, как маркер, используемый на airbnb.com. Как мне это сделать? Я использую это:создать марку google, содержащую цену
мне нужно что-то вроде этого:
Вы можете создать собственный значок, как ниже один - использовать другой URL изображения для вашего необходимо.
var image = {
url: 'http://www.homedepot.com/catalog/swatchImages/35/04/04a604de-8b52-4cd8-a394-6286f00b438d_35.jpg',
// This marker is 35 pixels wide by 35 pixels high.
size: new google.maps.Size(35, 35),
// The origin for this image is (0, 0).
origin: new google.maps.Point(0, 0),
// The anchor for this image is the base of the flagpole at (0, 32).
anchor: new google.maps.Point(0, 35)
};
Затем при создании маркеров, используйте изображение объекта как значка собственности. Для получения дополнительной информации см. maps API documentation for complex icons.
в действии в следующей сниппета:
function initialize() {
var map = new google.maps.Map(
document.getElementById("map_canvas"), {
center: new google.maps.LatLng(41.385932, 2.178678),
zoom: 13,
mapTypeId: google.maps.MapTypeId.ROADMAP
});
var image = {
url: 'http://www.homedepot.com/catalog/swatchImages/35/04/04a604de-8b52-4cd8-a394-6286f00b438d_35.jpg',
// This marker is 35 pixels wide by 35 pixels high.
size: new google.maps.Size(35, 35),
// The origin for this image is (0, 0).
origin: new google.maps.Point(0, 0),
// The anchor for this image is the base of the flagpole at (0, 32).
anchor: new google.maps.Point(0, 35)
};
var clickMarker = new google.maps.Marker({
position: map.getCenter(),
map: map,
draggable: true,
icon: image,
label: {
text: "50€",
color: 'black',
fontSize: '15px',
fontWeight: 'bold'
}
});
}
google.maps.event.addDomListener(window, "load", initialize);
html,
body,
#map_canvas {
height: 100%;
width: 100%;
margin: 0px;
padding: 0px
}
<script src="https://maps.googleapis.com/maps/api/js"></script>
<div id="map_canvas"></div>
Использование Google Maps, построенные в информационном окне. Вот пример в JQuery:
var infoContent = "<h1>Your Detailed Information Here</h1>";
var infoWindow = new google.maps.InfoWindow({
content: infoContent
});
marker.addListener('click', function() {
infoWindow.open(map, marker);
});
Вы можете стилизовать информационное окно, как вам нравится с помощью CSS
да, я использую это, но мне нужна цена в маркере, а не при нажатии на нее –
Будет ли название работать для вас рядом с маркером? См. Пример здесь: map.addMarker (новый MarkerOptions(). Title ("$ 27.56")); Если нет, вам придется заменить изображение динамически SVG. – Kyle
У меня есть заголовок для маркера, мне нужно как изображение, которое я публикую, так как я могу это сделать? –
крутая история. Что вы пробовали и что на самом деле не так с вашим кодом? (предположим, что вы даже попытались это сделать сами) – KDOT
изображение i post - это то, что я хочу иметь, я использую теперь обычный маркер, я использую этот код: marker = новый google.maps.Marker ({ позиция: позиция, карта: map, название: маркеры [i] [3], con: (on)? 'http://chart.apis.google.com/chart?chst=d_map_pin_letter&chld=V|EC2A8C|000000': \t \t \t http://chart.apis.google.com/chart?chst=d_map_pin_letter&chld=L|BDD73C|000000 ' }); –
Хотя не уверен, что он решит вашу проблему. Но просто для проверки. https://developers.google.com/maps/documentation/javascript/custom-markers – Garry