我试着通过地址获取地图,我做了:
var geocoder = new google.maps.Geocoder();
var latlng = new google.maps.LatLng(-34.397, 150.644);
var mapOptions = {
zoom: 8,
center: latlng
}
var map = new google.maps.Map(self.$()[ 0 ], mapOptions);
geocoder.geocode( { 'address': self.get('address')}, function(results, status) {
if (status == 'OK') {
map.setCenter(results[0].geometry.location);
var marker = new google.maps.Marker({
map: map,
position: results[0].geometry.location
});
} else {
console.log('Geocode was not successful for the following reason: ' + status);
}
});
我刚刚从google文档中复制了代码来测试它,
所以因为它没有显示地图我开始调试它
我对地址及其罚款console.log
做了
我对结果对象做了console.log
,得到了3个结果,但是每个结果都有位置函数,带有空值
我不知道问题是什么,如果有人能指导我,我会说错了
但是我得到了视口,这可选择通过视口获取谷歌地图吗?
修改 对不起,我忘了给宽度和宽度地图元素的高度
答案 0 :(得分:0)
当您创建Map对象时,可能没有正确传递带有 self。$()[0] 的 div 元素:
var map = new google.maps.Map(self.$()[ 0 ], mapOptions);
我已经尝试过直接传递div对象的代码并且它正常工作。 见jsfiddle