Kus*_* Rr 6 html jquery google-maps
我是新手,练习HTML和jquery.有人可以帮我解决这个错误吗?当我试图动态添加谷歌地图时,我收到一个错误,如未捕获的类型错误:未能在'window':参数上执行'getComputedStyle'.
html标记是:
<type="submit" id="locate">Find me</button>
<div id="gmap"> </div>
enter code here
$(document).ready(function () {
$('#locate').on('click', function (e) {
e.preventDefault();
if (navigator.geolocation) {
navigator.geolocation.getCurrentPosition(showPosition);
}
else {
console.log('Geolocation is not supported by your browser');
}
});
var latlng,
mapOptions,
map;
showPosition = function (position) {
latlng = new google.maps.LatLng(position.coords.latitude, position.coords.longitude)
mapOptions = {
center: latlng,
mapTypeId: google.maps.MapTypeId.ROADMAP,
zoom: 15
}
Map = new google.maps.Map($('#gmap'), mapOptions);
var marker = new google.maps.Marker({
position: latlng,
map: map,
title: "You are here"
})
}
});
Run Code Online (Sandbox Code Playgroud)
T.J*_*der 14
两个问题:
JavaScript区分大小写,这一行:
Map = new google.maps.Map
Run Code Online (Sandbox Code Playgroud)
应该
map = new google.maps.Map
Run Code Online (Sandbox Code Playgroud)
(注意开头的地图中的小写m.)
该google.maps.Map构造函数需要你给它一个元素作为它的第一个参数,但你不能这样做.你给它一个jQuery对象:
map = new google.maps.Map($('#gmap'), mapOptions);
// ^^^^^^^^^^--- this is a jQuery object
Run Code Online (Sandbox Code Playgroud)
要获取jQuery对象中的唯一元素,请使用[0]:
map = new google.maps.Map($('#gmap')[0], mapOptions);
// Here ----------------------------^^^
Run Code Online (Sandbox Code Playgroud)| 归档时间: |
|
| 查看次数: |
9266 次 |
| 最近记录: |