Я пытаюсь интегрировать карты google на веб-сайтах, чтобы показывать местоположения с листингами. Я хочу показать значок категории на карте в отличие от обычного маркера, я попробовал маркеры, но у меня есть ощущение, что это создаст какую-то проблему в будущем, когда добавятся больше категорий, я хочу использовать шрифт для этого, я уже пробовал так много библиотек, но ни один, кажется, обеспечивает решение, я теперь решили наложения, которые я знаю, могу обрабатывать HTML элементы, но я не уверен, как интегрировать его в этом коде .. Вот мой кодКак добавить Overlay Google Maps
function load_map(keyword, category) {
var map = new google.maps.Map(document.getElementById('indexmap'), {
zoom: 2,
mapTypeId: google.maps.MapTypeId.ROADMAP
});
var infowindow = new google.maps.InfoWindow();
var marker, i;
var markers = new Array();
var jsondt;
var jsonfile;
var results = [];
$.getJSON("<?php echo osc_base_url(); ?>?soko-ajax=maps-items", function(data) {
jsondt = data.markersmap;
for (i = 0; i < jsondt.length; i++) {
if (keyword != 'all' && category != 'all') {
if (jsondt[i].country == keyword && jsondt[i].category == category) {
results.push(jsondt[i]);
}
} else if (keyword == 'all' && category != 'all') {
if (jsondt[i].category == category) {
results.push(jsondt[i]);
}
} else if (keyword != 'all' && category == 'all') {
if (jsondt[i].country == keyword) {
results.push(jsondt[i]);
}
} else {
results.push(jsondt[i]);
}
}
for (i = 0; i < results.length; i++) {
marker = new google.maps.Marker({
position: new google.maps.LatLng(results[i].latitude, results[i].longitude),
map: map,
icon: "<?php echo osc_current_web_theme_url();?>" + results[i].image
});
markers.push(marker);
google.maps.event.addListener(marker, 'click', (function(marker, i) {
return function() {
infowindow.setContent(results[i].content);
infowindow.open(map, this);
}
})(marker, i));
}
var bounds = new google.maps.LatLngBounds();
$.each(markers, function(index, marker) {
bounds.extend(marker.position);
});
map.fitBounds(bounds);
map.setZoom(2);
});
}
load_map('all', 'all');
});
В чем проблема с этим: 'icon:" Php echo osc_current_web_theme_url();?> "+ Results [i] .image' Работа хорошо, поэтому вы можете использовать разные значки маркеров. Если вам нужен отдельный слой, вам следует взглянуть на [Data Layer и GeoJSON] (https://developers.google.com/maps/documentation/javascript/examples/layer-data-dragndrop?hl=de). – RWAM