【发布时间】:2015-02-12 16:45:05
【问题描述】:
我从w3school 获取他的代码。 在这里,他们展示了如何将用户直接带到 JavaScript 代码中编写的地址。 我不想将用户带到我在代码中设置的某个位置,而是将用户带到地图中的当前位置,但我可以找到一种方法来做到这一点。我似乎已经有了使用 html5 获取地理位置的代码,但我不知道如何将所有内容放在一起以使其工作。 JavaScript 代码是:
<script
src="http://maps.googleapis.com/maps/api/js">
</script>
<script>
var map;
var london = new google.maps.LatLng(51.508742,-0.120850);
// Add a Home control that returns the user to London
function HomeControl(controlDiv, map) {
controlDiv.style.padding = '5px';
var controlUI = document.createElement('div');
controlUI.style.backgroundColor = 'yellow';
controlUI.style.border='1px solid';
controlUI.style.cursor = 'pointer';
controlUI.style.textAlign = 'center';
controlUI.title = 'Set map to London';
controlDiv.appendChild(controlUI);
var controlText = document.createElement('div');
controlText.style.fontFamily='Arial,sans-serif';
controlText.style.fontSize='12px';
controlText.style.paddingLeft = '4px';
controlText.style.paddingRight = '4px';
controlText.innerHTML = '<b>Home<b>'
controlUI.appendChild(controlText);
// Setup click-event listener: simply set the map to London
google.maps.event.addDomListener(controlUI, 'click', function() {
map.setCenter(london)
});
}
function initialize() {
var mapDiv = document.getElementById('googleMap');
var myOptions = {
zoom: 12,
center: london,
mapTypeId: google.maps.MapTypeId.ROADMAP
}
map = new google.maps.Map(mapDiv, myOptions);
// Create a DIV to hold the control and call HomeControl()
var homeControlDiv = document.createElement('div');
var homeControl = new HomeControl(homeControlDiv, map);
// homeControlDiv.index = 1;
map.controls[google.maps.ControlPosition.TOP_RIGHT].push(homeControlDiv);
}
google.maps.event.addDomListener(window, 'load', initialize);
</script>
对于整个代码,请转到w3school。
换句话说,我想找到用户当前的位置,并在用户点击 HOME 时显示它。
【问题讨论】:
-
我知道我已经使用了他们在那里显示的代码.....我会改写自己,所以也许你能理解....我希望地图在用户显示用户位置时点击按钮
标签: javascript html google-maps geolocation custom-controls