【发布时间】:2013-12-25 00:50:34
【问题描述】:
我正在使用 Google Maps API v3 显示世界地图,它是静态的(不允许缩放或拖动)。在它上面有一个带有自定义图标的可拖动标记,以及一组不同半径的圆圈绑定到它。
实际地图代码为:
var myLatlng = new google.maps.LatLng(28.283, 13.843);
var mapOptions = {
zoom: 2,
maxZoom:2,
minZoom:2,
draggable: 0,
center: myLatlng,
streetViewControl: false,
disableDefaultUI: true,
mapTypeId: google.maps.MapTypeId.SATELLITE,
};
map = new google.maps.Map(document.getElementById("mapaGoogle"),
mapOptions);
var markerImage = new google.maps.MarkerImage('path/to/imageplaneminiature.png',
new google.maps.Size(40, 40),
new google.maps.Point(0, 0),
new google.maps.Point(18, 20));
marker = new google.maps.Marker({
map: map,
position: myLatlng,
icon: markerImage,
draggable: true
});
然后对于我所拥有的每个圈子:
planes[1] = new google.maps.Circle({
map: map,
radius: 2500000,
strokeColor: "#cccccc",
fillOpacity: 0
});
planes[1].setMap(map);
planes[1].bindTo('center', marker, 'position');
这很好用,但我有两个问题:
1) 当用户将标记拖到边界附近时,由于世界是圆形的,半径也显示在另一侧。但它并没有在其中心显示标记,这看起来并不那么酷。看图片:
2) 如果用户将标记拖出地图区域,它仍然是不可见的,用户无法将其带回来。有什么办法可以强制它在视口区域内?
【问题讨论】:
-
标记似乎只有在不可拖动时才会显示在两侧。
标签: jquery google-maps google-maps-api-3