Javascript 如何从当前位置指定lat和long值?
我正在使用谷歌地图api地点搜索来获取附近地点的详细信息。在google的这个示例中,我们必须在函数initMap()中指定中心:lat,lng。我如何从当前位置提供它们 JSIDLE链接:Javascript 如何从当前位置指定lat和long值?,javascript,google-maps-api-3,Javascript,Google Maps Api 3,我正在使用谷歌地图api地点搜索来获取附近地点的详细信息。在google的这个示例中,我们必须在函数initMap()中指定中心:lat,lng。我如何从当前位置提供它们 JSIDLE链接: 地点详情 #地图{ 身高:100%; } html,正文{ 身高:100%; 保证金:0; 填充:0; } 函数initMap(){ var map=new google.maps.map(document.getElementById('map'){ 中心:{lat:-33.866,lng:151.19
地点详情
#地图{
身高:100%;
}
html,正文{
身高:100%;
保证金:0;
填充:0;
}
函数initMap(){
var map=new google.maps.map(document.getElementById('map'){
中心:{lat:-33.866,lng:151.196},
缩放:15
});
var infowindow=new google.maps.infowindow();
var service=newgoogle.maps.places.PlacesService(地图);
service.getDetails({
placeId:'ChIJN1t_tdeuemsrusoyg83fy4'
},功能(地点、状态){
if(status==google.maps.places.PlacesServiceStatus.OK){
var marker=new google.maps.marker({
地图:地图,
位置:place.geometry.location
});
google.maps.event.addListener(标记'click',函数(){
infowindow.setContent(“”+place.name+”
'+
“地点ID:”+Place.Place_ID+”
'+
place.u地址+“”);
打开(地图,这个);
});
}
});
}
如果您有lat lng,只需将谷歌地图居中,您可以在稍后执行以下操作
map.setCenter({lat:lat, lng:lng});
您可以使用此代码
function myMap() {
map = new google.maps.Map(document.getElementById('map'), {
center: {lat: -34.397, lng: 150.644},
zoom: 6
});
infoWindow = new google.maps.InfoWindow;
// Try HTML5 geolocation.
if (navigator.geolocation) {
navigator.geolocation.getCurrentPosition(function(position) {
var pos = {
lat: position.coords.latitude,
lng: position.coords.longitude
};
infoWindow.setPosition(pos);
infoWindow.setContent('Your current location ');
infoWindow.open(map);
map.setCenter(pos);
var marker = new google.maps.Marker({ position: pos });
marker.setMap(map);
var mapOptions = { center: myCenter, zoom: 15 };
}, function() {
handleLocationError(true, infoWindow, map.getCenter());
});
} else {
// Browser doesn't support Geolocation
handleLocationError(false, infoWindow, map.getCenter());
}
}
@JaromandaX当你发表评论时,我正在编辑问题。好吧,我不可能知道你会发布一个问题,然后在10分钟后添加代码。这个代码给出了我所在位置的坐标。但是,如何将地图放在它们的中心,以使我获得的位置详细信息围绕我的位置?你的意思是要缩放地图?在initMap()中,中心:{lat:lat,lng:lng},我要从geolocation获取lat和lng值。如果(navigator.geolocation){navigator.geolocation.getCurrentPosition(函数(位置)),此代码可以帮助您{var pos={lat:position.coords.latitude,lng:position.coords.longitude};}您可以使用它来获取lat和lng
map.setCenter({lat:lat, lng:lng});
function myMap() {
map = new google.maps.Map(document.getElementById('map'), {
center: {lat: -34.397, lng: 150.644},
zoom: 6
});
infoWindow = new google.maps.InfoWindow;
// Try HTML5 geolocation.
if (navigator.geolocation) {
navigator.geolocation.getCurrentPosition(function(position) {
var pos = {
lat: position.coords.latitude,
lng: position.coords.longitude
};
infoWindow.setPosition(pos);
infoWindow.setContent('Your current location ');
infoWindow.open(map);
map.setCenter(pos);
var marker = new google.maps.Marker({ position: pos });
marker.setMap(map);
var mapOptions = { center: myCenter, zoom: 15 };
}, function() {
handleLocationError(true, infoWindow, map.getCenter());
});
} else {
// Browser doesn't support Geolocation
handleLocationError(false, infoWindow, map.getCenter());
}
}