我希望通过Google Maps v3获得与Pinterest Map(例如www.pinterest.com/airbnb/loved-by-parisians/)相同的效果。
到目前为止,我已经谈过:http://jsfiddle.net/tdff3/9xEEG/
我遗漏了一件事: 移动中心贴图位置并将标记可见区域更改为右侧,对不同的分辨率进行响应。
现在:
我想要的是什么:
function initialize()
{
var mapOptions =
{
zoom: 8,
center: new google.maps.LatLng( -33.9, 151.2 ),
disableDefaultUI: true,
zoomControl: true,
zoomControlOptions:
{
style: google.maps.ZoomControlStyle.SMALL,
position: google.maps.ControlPosition.RIGHT_BOTTOM
},
scrollwheel: false
};
var map = new google.maps.Map
(
document.getElementById( 'map-canvas' ),
mapOptions
);
var beaches =
[
[ 'Bondi Beach', -33.890542, 151.274856, 4 ],
[ 'Coogee Beach', -33.423036, 151.259052, 5 ],
[ 'Cronulla Beach', -34.028249, 121.157507, 3 ],
[ 'Manly Beach', -33.80010128657071, 151.28747820854187, 2 ],
[ 'Maroubra Beach', -33.450198, 151.259302, 1 ]
];
setMarkers( map, beaches );
}
function setMarkers( map, locations )
{
var bounds = new google.maps.LatLngBounds();
for( var i = 0; i < locations.length; i++ )
{
var beach = locations[ i ];
var myLatLng = new google.maps.LatLng( beach[ 1 ], beach[ 2 ] );
var marker = new google.maps.Marker(
{
position: myLatLng,
map: map,
title: beach[ 0 ],
zIndex: beach[ 3 ]
} );
bounds.extend( myLatLng );
}
map.fitBounds( bounds );
}
function loadScript()
{
var script = document.createElement( 'script' );
script.type = 'text/javascript';
script.src = 'https://maps.googleapis.com/maps/api/js?v=3.exp&sensor=false&' +
'callback=initialize';
document.body.appendChild( script );
}
window.onload = loadScript;
答案 0 :(得分:0)
标记区域我认为它们是所有标记的扩展边界在您发布的2张图片上不一样。
如果你在澳大利亚各地都有标记,那么边界看起来就像你的第二张照片。如果没有,但您仍想要实现此特定视图,则可能需要使用缩放级别来确保以这种方式显示,或者手动定义这些边界。
关于向右移动地图,您可以使用地图panBy() method,它允许您以给定距离(以像素为单位)更改地图中心。
希望这有帮助!