如何使用google maps API v3的自定义图标创建标记?

时间:2012-04-29 22:38:10

标签: javascript google-maps-api-3 google-maps-markers

我一直在阅读https://developers.google.com/maps/documentation/javascript/overlays一段时间,我似乎无法获得地图工作的自定义图标。

这是我的javascript:

var simplerweb = new google.maps.LatLng(55.977046,-3.197118);
var marker;
var map;

function initialize() {
    var myOpts = {
        center:    simplerweb,  
        zoom:      15,
        mapTypeId: google.maps.MapTypeId.ROADMAP
    };
    var map = new google.maps.Map(document.getElementById("map_canvas"), myOpts);
    marker = new google.maps.Marker({
        map:        map,
        draggable:  true,
        animation:  google.maps.Animation.DROP,
        position:   simplerweb
    });
    google.maps.event.addListener(marker, 'click', toggleBounce);
}

function toggleBounce() {
  if (marker.getAnimation() != null) {
    marker.setAnimation(null);
  } else {
    marker.setAnimation(google.maps.Animation.BOUNCE);
  }
}

使用gmaps的完整初学者的任何指针?

4 个答案:

答案 0 :(得分:34)

  
marker = new google.maps.Marker({
    map:map,
    // draggable:true,
    // animation: google.maps.Animation.DROP,
    position: new google.maps.LatLng(59.32522, 18.07002),
    icon: 'http://cdn.com/my-custom-icon.png' // null = default icon
  });
  

答案 1 :(得分:6)

尝试

    var marker = new google.maps.Marker({
      position: map.getCenter(),
      icon: 'http://imageshack.us/a/img826/9489/x1my.png',
      map: map
    });

从这里

https://developers.google.com/maps/documentation/javascript/examples/marker-symbol-custom

答案 2 :(得分:2)

您想要的颜色符号!

我几天来一直在寻找这个答案,这里是创建自定义标记的正确方法:

'http://chart.googleapis.com/chart?chst=d_map_pin_letter&chld=xxx%7c5680FC%7c000000&.png'其中xxx是文本,5680fc是背景的十六进制颜色代码,000000是文本的十六进制颜色代码。

这些标记是完全动态的,你可以创建你想要的任何气球图标。只需更改网址即可。

答案 3 :(得分:-5)

LatLng hello = new LatLng(X, Y);          // whereX & Y are coordinates

Bitmap icon = BitmapFactory.decodeResource(getApplicationContext().getResources(),
                R.drawable.university);   // where university is the icon name that is used as a marker.

mMap.addMarker(new MarkerOptions().icon(BitmapDescriptorFactory.fromBitmap(icon)).position(hello).title("Hello World!"));

mMap.moveCamera(CameraUpdateFactory.newLatLng(hello));