<script>
function initialize() {
var locations = [
['DESCRIPTION', 41.926979, 12.517385, 3],
['DESCRIPTION', 41.914873, 12.506486, 2],
['DESCRIPTION', 41.918574, 12.507201, 1]
];
var map = new google.maps.Map(document.getElementById('map'), {
zoom: 15,
center: new google.maps.LatLng(41.923, 12.513),
mapTypeId: google.maps.MapTypeId.ROADMAP
});
var infowindow = new google.maps.InfoWindow();
var marker, i;
for (i = 0; i < locations.length; i++) {
marker = new google.maps.Marker({
position: new google.maps.LatLng(locations[i][1], locations[i][2]),
map: map
});
google.maps.event.addListener(marker, 'click', (function(marker, i) {
return function() {
infowindow.setContent(locations[i][0]);
infowindow.open(map, marker);
}
})(marker, i));
}
}
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;
</script>
<div id="map" style="width: 900px; height: 700px;"></div>
我正在寻找的是一种避免必须“手动”找到center的地图中心的方法:new google.maps.latlng(41.923,12.513)
。有没有办法自动让地图以三个坐标为中心?
有一种更简单的方法,通过扩展空的latlngbounds
而不是从两个点显式创建一个latlngbounds
。(详见本题)
添加到代码中的内容应该如下所示:
//create empty LatLngBounds object
var bounds = new google.maps.LatLngBounds();
var infowindow = new google.maps.InfoWindow();
for (i = 0; i < locations.length; i++) {
var marker = new google.maps.Marker({
position: new google.maps.LatLng(locations[i][1], locations[i][2]),
map: map
});
//extend the bounds to include each marker's position
bounds.extend(marker.position);
google.maps.event.addListener(marker, 'click', (function(marker, i) {
return function() {
infowindow.setContent(locations[i][0]);
infowindow.open(map, marker);
}
})(marker, i));
}
//now fit the map to the newly inclusive bounds
map.fitBounds(bounds);
//(optional) restore the zoom level after the map is done scaling
var listener = google.maps.event.addListener(map, "idle", function () {
map.setZoom(3);
google.maps.event.removeListener(listener);
});
这样,你就可以使用任意的点数,而不需要事先知道顺序。
我需要一些帮助来绘制我正在绘制的地图。地图并不特别复杂,因为我是一个初学者,我有一堆带有信息窗口的标记(完成后还会有更多标记),单击标记或选择页面HTML端下拉菜单的相应项时可以打开这些标记。 当信息窗口打开时(在HTML菜单中单击或选择),我想做但自己找不到的是在地图上自动居中标记。我假设有某种函数可以分配给click或infowindow打开事件,但无法确定是哪种函数以及如何实现它。 我的代码
我有一堆标记,我可以在其中加载到谷歌地图上。我的问题是,相机不在标记之上。我可以将它集中在我所有的标记之上吗? 我正在使用以下代码添加标记: 我在堆栈上看了看,发现了这个问题,和我的问题一样: Android谷歌地图API V2中心标记 但它背后没有太多的背景,也不知道如何实现它。
因此,我试图找到一些关于如何在标记上居中地图的文档,但不知怎么的,它对我不起作用。 在Gmap3页面上的示例中,如果不将“中心”添加到地图选项中,它也可以正常工作,对我来说,即使使用“中心: latLng”也不行。 所以我尝试了一些不同的组合没有什么真的适合我... 然后我试着分别提取纬度和经度,并检查了我在一个允许输入lat和lng的网站上得到的数字,我意识到这些曲线不是标记的,所以我不知道我提
在Gitlab将其标记引擎切换到CommonMark之后,向标记文件添加自定义样式就不再那么容易了。 我使用Gitlab已经有一段时间了,在最长的一段时间里,我喜欢我的readme.md文件看起来非常好,有一个居中的图标、标题和我的项目的描述。当他们切换引擎时,我所有的标记文件都依赖于这样的样式看起来真的很糟糕。 转换到Commonmark后,我如何在Gitlab中居中文本?
我正在使用Swing中的JMapViewer创建一个地图。我在地图上有几个表示汽车的MapMarkerDots。我试图更新这些标记的位置,以便它们看起来在地图上行驶,但它不太正常工作。我有一个“汽车”要遵循的坐标列表,但发生的情况是,位置被更新,但标记在完成之前不会重新绘制,这意味着标记是在初始位置和最终位置绘制的,而不是在两者之间的每一点绘制的。下面是我使用的代码。你知道为什么会发生这种情况吗?