Javascript Gmaps.js\根据用户所在位置创建新标记
我正在为谷歌地图API使用gmaps.js。目标是使用用户地理位置创建地图并创建新标记。有点像嗨!你来了 地图和地理位置很好,但是用当前用户坐标创建新的标记对我来说是个问题 代码如下:Javascript Gmaps.js\根据用户所在位置创建新标记,javascript,google-maps-api-3,Javascript,Google Maps Api 3,我正在为谷歌地图API使用gmaps.js。目标是使用用户地理位置创建地图并创建新标记。有点像嗨!你来了 地图和地理位置很好,但是用当前用户坐标创建新的标记对我来说是个问题 代码如下: // public/core.js //Creating map var map; $(document).ready(function(){ map = new GMaps({ el: '#map', lat: 0, lng: 0, z
// public/core.js
//Creating map
var map;
$(document).ready(function(){
map = new GMaps({
el: '#map',
lat: 0,
lng: 0,
zoomControl : true,
zoomControlOpt: {
style : 'SMALL',
position: 'TOP_LEFT'
},
panControl : false,
streetViewControl : false,
mapTypeControl: false,
overviewMapControl: false
});
// Define user location
GMaps.geolocate({
success: function(position) {
map.setCenter(position.coords.latitude, position.coords.longitude);
},
error: function(error) {
alert('Geolocation failed: '+error.message);
},
not_supported: function() {
alert("Your browser does not support geolocation");
}
});
// Creating marker of user location
map.addMarker({
lat: position.coords.latitude,
lng: position.coords.longitude,
title: 'Lima',
click: function(e) {
alert('You clicked in this marker');
},
infoWindow: {
content: '<p>You are here!</p>'
}
});
});
问题在于,您对map.addMarker的调用假设上面的函数GMaps.geologite已成功,而实际上,只有在成功函数解决以下问题后,才会设置位置:
// public/core.js
//Creating map
var map;
$(document).ready(function(){
map = new GMaps({
el: '#map',
lat: 0,
lng: 0,
zoomControl : true,
zoomControlOpt: {
style : 'SMALL',
position: 'TOP_LEFT'
},
panControl : false,
streetViewControl : false,
mapTypeControl: false,
overviewMapControl: false
});
// Define user location
GMaps.geolocate({
success: function(position) {
map.setCenter(position.coords.latitude, position.coords.longitude);
// Creating marker of user location
map.addMarker({
lat: position.coords.latitude,
lng: position.coords.longitude,
title: 'Lima',
click: function(e) {
alert('You clicked in this marker');
},
infoWindow: {
content: '<p>You are here!</p>'
}
});
},
error: function(error) {
alert('Geolocation failed: '+error.message);
},
not_supported: function() {
alert("Your browser does not support geolocation");
}
});
});
你说地图和地理位置很好,但是用当前用户坐标创建新的标记对我来说是个问题——但问题是什么?代码是否产生错误?该函数是否不执行?标记是否放错了位置?标记在所有未捕获的引用处都不会出现错误:未定义位置core.js:36 event.returnValue不推荐使用。请改用标准event.preventDefault。