如何使用mapplace.js创建自定义图标

时间:2016-02-13 00:08:20

标签: javascript jquery google-maps

我使用 mapplace.js 创建了以下简单地图:

FIDDLE HERE 即可。

JS代码如下:

$(function() {
  new Maplace({
    locations: [{
      lat: '25.217665',
      lon: '55.2479501',
      zoom: 15
    }],
    controls_on_map: false,
    map_div: '#map',
    type: 'directions',

    map_options: {
      mapTypeId: google.maps.MapTypeId.ROADMAP
    }

    // styles: {
    //         'Night': [{
    //             featureType: 'all',
    //             stylers: [
    //                 { invert_lightness: 'true' }
    //             ]
    //         }],
    //         'Greyscale': [{
    //             featureType: 'all',
    //             stylers: [
    //                 { saturation: -50 },
    //                 { gamma: 0 }
    //             ]
    //         }]
    //     }    


  }).Load();
});

pritty标准代码创建地图,现在图书馆说我允许自定义标记,但我没有看到和示例,即使我浏览API我看不到任何选项, SEE API(见docs标签)

现在我将这个库用于我的应用程序,所以我可以转向使用另一个库,那么我如何创建一个带有自定义图标的地图?使用mapplace.js?

谢谢。

1 个答案:

答案 0 :(得分:1)

来自您引用的documentation中的标记示例:

var LocsA = [{
    lat: 45.9,
    lon: 10.9,
    title: 'Title A1',
    html: '<h3>Content A1</h3>',
    icon: 'http://maps.google.com/mapfiles/markerA.png', // custom icon
    animation: google.maps.Animation.DROP
}, {
    lat: 44.8,
    lon: 1.7,
    title: 'Title B1',
    html: '<h3>Content B1</h3>',
    icon: 'http://maps.google.com/mapfiles/markerB.png', // custom icon
    show_infowindow: false
}, {
    lat: 51.5,
    lon: -1.1,
    title: 'Title C1',
    html: [
        '<h3>Content C1</h3>',
        '<p>Lorem Ipsum..</p>'
    ].join(''),
    zoom: 8,
    icon: 'http://maps.google.com/mapfiles/markerC.png' // custom icon
}];


//Simple Example, dropdown on map
var dropdown = new Maplace({
    map_div: '#gmap-2',
    controls_title: 'Choose a location:',
    locations: LocsA
});

//Simple Example, menu on map
var ullist = new Maplace({
    map_div: '#gmap-3',
    controls_type: 'list',
    controls_title: 'Choose a location:',
    locations: LocsBv2
});

working fiddle with custom icons

代码段

&#13;
&#13;
var LocsA = [{
  lat: 45.9,
  lon: 10.9,
  title: 'Title A1',
  html: '<h3>Content A1</h3>',
  icon: 'http://maps.google.com/mapfiles/markerA.png', // custom icon
  animation: google.maps.Animation.DROP
}, {
  lat: 44.8,
  lon: 1.7,
  title: 'Title B1',
  html: '<h3>Content B1</h3>',
  icon: 'http://maps.google.com/mapfiles/markerB.png', // custom icon
  show_infowindow: false
}, {
  lat: 51.5,
  lon: -1.1,
  title: 'Title C1',
  html: [
    '<h3>Content C1</h3>',
    '<p>Lorem Ipsum..</p>'
  ].join(''),
  zoom: 8,
  icon: 'http://maps.google.com/mapfiles/markerC.png' // custom icon
}];
$(function() {
  var mapPlace = new Maplace({
    locations: LocsA,
    controls_on_map: false,
    map_div: '#map',
    type: 'directions',
    show_markers: true,
    map_options: {
      mapTypeId: google.maps.MapTypeId.ROADMAP
    }
  }).Load();
  mapPlace.directionsDisplay.setOptions({
    suppressMarkers: true
  });
  mapPlace.AddLocations(LocsA);
});
&#13;
html,
body,
.map {
  height: 100%;
  width: 100%;
}
body {
  padding: 0;
  margin: 0;
}
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://maps.googleapis.com/maps/api/js"></script>
<script src="https://maplacejs.com/dist/maplace.js"></script>
<div class="map" id="map"></div>
&#13;
&#13;
&#13;