Google地图上的多个标记带有不同的图标?

历史

我正在尝试在Google地图上使用带有不同图标的多个标记。

像这样的东西:

var locations = [
    ['Me', 'ss00sd', 'meicon.png'],
    ['Location 2 Name', 'rm191qw', 'house.png'],
    ['Location 3 Name', 'ss68ll', 'house.png'],
];

但我不知道如何实现这一目标。

我用到目前为止的内容创建了这个jsfiddle:http : //jsfiddle.net/1Lf0rowp/

编辑:我注意到代码由于某种原因未在jsfiddle中运行,因此在我自己的页面中运行正常!但我也将所有代码都包含在jsfiddle中。

代码段(来自jsfiddle):

var locations = [
    ['Location 1 Name', 'ss00sd', 'meicon.png'],
   	    ['Location 2 Name', 'rm191qw', 'house.png'],
    ['Location 2 Name', 'ss68ll', 'house.png'],
];

var geocoder;
var map;
var bounds = new google.maps.LatLngBounds();

function initialize() {
    map = new google.maps.Map(
    document.getElementById("map_canvas"), {
        center: new google.maps.LatLng(37.4419, -122.1419),
        zoom: 13,
        mapTypeId: google.maps.MapTypeId.ROADMAP
    });
    geocoder = new google.maps.Geocoder();

    for (i = 0; i < locations.length; i++) {
        geocodeAddress(locations, i);
    }
}
google.maps.event.addDomListener(window, "load", initialize);

function geocodeAddress(locations, i) {
    var title = locations[i][0];
    var address = locations[i][1];
    var url = locations[i][2];
    geocoder.geocode({
        'address': locations[i][1]
    },

    function (results, status) {
        if (status == google.maps.GeocoderStatus.OK) {
            var marker = new google.maps.Marker({
                icon: 'meicon.png',
                map: map,
                position: results[0].geometry.location,
                title: title,
                animation: google.maps.Animation.DROP,
                address: address,
                url: url
            })
            infoWindow(marker, map, title, address, url);
            bounds.extend(marker.getPosition());
            map.fitBounds(bounds);
        } else {
            alert("geocode of " + address + " failed:" + status);
        }
    });
}

function infoWindow(marker, map, title, address, url) {
    google.maps.event.addListener(marker, 'click', function () {
        var html = "<div><h3>" + title + "</h3><p>" + address + "<br></div></p></div>";
        iw = new google.maps.InfoWindow({
            content: html,
            //maxWidth: 350
        });
        iw.open(map, marker);
    });
}

function createMarker(results) {
    var marker = new google.maps.Marker({
        icon: 'http://maps.google.com/mapfiles/ms/icons/blue.png',
        map: map,
        position: results[0].geometry.location,
        title: title,
        animation: google.maps.Animation.DROP,
        address: address,
        url: url
    })
    bounds.extend(marker.getPosition());
    map.fitBounds(bounds);
    infoWindow(marker, map, title, address, url);
    return marker;
}
html, body, #map-canvas {
        margin: 0;
        padding: 0;
        height: 100%;
      }
<script src="https://maps.googleapis.com/maps/api/js"></script>

<div id="map_canvas" style="width:100%; height:900px;"></div>

伊万·乔沃维奇(IvanJovović)

你很接近,只是包括url以后icon:当你创建标记:

var marker = new google.maps.Marker({
                icon: url,

我对您的小提琴进行了一些更改以使其起作用:您忘记了调用,initialize()并且也将url数据更改为图标,因此现在您的locations数组如下所示:

 var locations = [
        ['Location 1 Name', 'ss00sd', 'http://cdn.leafletjs.com/leaflet-0.6.4/images/marker-icon.png'],
        ['Location 2 Name', 'rm191qw', 'https://www.mapsmarker.com/wp-content/plugins/leaflet-maps-marker-pro/leaflet-dist/images/marker.png'],
        ['Location 2 Name', 'ss68ll', 'http://www.worldheritageoutlook.iucn.org/resources/heritage_site_map_pin.png'],
    ];

工作提琴:http : //jsfiddle.net/1Lf0rowp/1/

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Google地图上的多个标记

来自分类Dev

Google地图上的多个标记

来自分类Dev

如何在谷歌地图上添加具有不同图标的标记?

来自分类Dev

页面上带有标记的多个Google地图

来自分类Dev

悬停标记图标在Google地图上获得更改

来自分类Dev

在角度Google地图上创建动态标记图标

来自分类Dev

谷歌地图上的多个标记

来自分类Dev

如何在多个标记的Google地图上创建信息窗口?

来自分类Dev

如何在Google地图上创建多个标记?

来自分类Dev

返回带有Ajax的Google地图标记始终为null

来自分类Dev

Google Maps Android API v2中带有文字的地图标记

来自分类Dev

带有angularjs的Google地图标记可用于大数据

来自分类Dev

地图上有60多个标记,因此速度很慢

来自分类Dev

为什么谷歌地图上没有显示多个标记

来自分类Dev

在Google地图上添加图标

来自分类Dev

清除Google地图上的标记?

来自分类Dev

同一页上有多个带有标记的Google地图

来自分类Dev

在Google地图标记中显示多个字符

来自分类Dev

在Google地图标记中显示多个字符

来自分类Dev

每个按钮都有不同的地图标记

来自分类Dev

Google带有多个标记的地图:在MarkerClick上创建新的活动

来自分类Dev

使用 JSON 的 Google 地图标记。地图上仅显示循环中的最后一个标记

来自分类Dev

如何在地图上为OpenMapQuest添加地图标记

来自分类Dev

如何在地图上为OpenMapQuest添加地图标记

来自分类Dev

为什么地图标记会在地图上泛滥

来自分类Dev

Google Places API 在地图上放置多个标记并缩放到大多数标记所在的位置

来自分类Dev

在地图上添加多个标记

来自分类Dev

带有多个标记的AngularJS Google Map

来自分类Dev

带有JavaScript的多个标记图标的下拉选项

Related 相关文章

  1. 1

    Google地图上的多个标记

  2. 2

    Google地图上的多个标记

  3. 3

    如何在谷歌地图上添加具有不同图标的标记?

  4. 4

    页面上带有标记的多个Google地图

  5. 5

    悬停标记图标在Google地图上获得更改

  6. 6

    在角度Google地图上创建动态标记图标

  7. 7

    谷歌地图上的多个标记

  8. 8

    如何在多个标记的Google地图上创建信息窗口?

  9. 9

    如何在Google地图上创建多个标记?

  10. 10

    返回带有Ajax的Google地图标记始终为null

  11. 11

    Google Maps Android API v2中带有文字的地图标记

  12. 12

    带有angularjs的Google地图标记可用于大数据

  13. 13

    地图上有60多个标记,因此速度很慢

  14. 14

    为什么谷歌地图上没有显示多个标记

  15. 15

    在Google地图上添加图标

  16. 16

    清除Google地图上的标记?

  17. 17

    同一页上有多个带有标记的Google地图

  18. 18

    在Google地图标记中显示多个字符

  19. 19

    在Google地图标记中显示多个字符

  20. 20

    每个按钮都有不同的地图标记

  21. 21

    Google带有多个标记的地图:在MarkerClick上创建新的活动

  22. 22

    使用 JSON 的 Google 地图标记。地图上仅显示循环中的最后一个标记

  23. 23

    如何在地图上为OpenMapQuest添加地图标记

  24. 24

    如何在地图上为OpenMapQuest添加地图标记

  25. 25

    为什么地图标记会在地图上泛滥

  26. 26

    Google Places API 在地图上放置多个标记并缩放到大多数标记所在的位置

  27. 27

    在地图上添加多个标记

  28. 28

    带有多个标记的AngularJS Google Map

  29. 29

    带有JavaScript的多个标记图标的下拉选项

热门标签

归档