가상 요소에서 작동하는 Google지도를 만들면 언제든지 어느 페이지 에든 붙여 넣을 수 있습니다.가상 요소에서 Google지도를 만들 수 있습니까?
내 JS가 페이지에 이미 존재하는 요소를 타겟팅 할 때 여기 있습니다. 내가 원하는 무엇
var mapLatLong = new google.maps.LatLng(51.5174456, -0.1305081);
var markerLatlng = new google.maps.LatLng(51.5170951, -0.1367416);
var mapOptions = {
zoom: 16,
center: mapLatLong,
mapTypeId: google.maps.MapTypeId.ROADMAP
}
var map = new google.maps.Map($('#map_canvas'), mapOptions);
var contentString = '<div id="content">'+
'<div id="siteNotice">'+
'</div>'+
'<h1 id="firstHeading" class="firstHeading">BrocklebankPenn</h1>'+
'<div id="bodyContent">'+
'<p>5th floor, 58-60 Berners Street,<br />London,<br />W1T 3NQ,<br />United Kingdom</p>'+
'<p>+44 (0)20 3137 7034</p>'+
'</div>'+
'</div>';
var infowindow = new google.maps.InfoWindow({
content: contentString
});
var marker = new google.maps.Marker({
position: markerLatlng,
map: map,
title: 'BrocklebankPenn'
});
google.maps.event.addListener(marker, 'click', function() {
infowindow.open(map,marker);
});
infowindow.open(map,marker);
이 같은 것입니다 : 기본적으로
this.mapCanvas = document.createElement('div');
this.mapCanvas.setAttribute('id', 'map_canvas');
var mapLatLong = new google.maps.LatLng(51.5174456, -0.1305081);
var markerLatlng = new google.maps.LatLng(51.5170951, -0.1367416);
var mapOptions = {
zoom: 16,
center: mapLatLong,
mapTypeId: google.maps.MapTypeId.ROADMAP
}
var map = new google.maps.Map($(this.mapCanvas), mapOptions);
var contentString = '<div id="content">'+
'<div id="siteNotice">'+
'</div>'+
'<h1 id="firstHeading" class="firstHeading">BrocklebankPenn</h1>'+
'<div id="bodyContent">'+
'<p>5th floor, 58-60 Berners Street,<br />London,<br />W1T 3NQ,<br />United Kingdom</p>'+
'<p>+44 (0)20 3137 7034</p>'+
'</div>'+
'</div>';
var infowindow = new google.maps.InfoWindow({
content: contentString
});
var marker = new google.maps.Marker({
position: markerLatlng,
map: map,
title: 'BrocklebankPenn'
});
google.maps.event.addListener(marker, 'click', function() {
infowindow.open(map,marker);
});
infowindow.open(map,marker);
this.$el.html(this.mapCanvas);
똑같은 대신 #map_canvas
의 variable
으로, 나는 과거에 JS으로이 방법을 촬영했지만 그것은 않습니다 Google지도에서 작동하지 않는 것 같습니다. 다음 오류가 발생합니다.
Uncaught TypeError: Cannot set property 'position' of undefined
나는 잘 모릅니다.
누군가가 도움이된다면 도움이 될 것입니다.
건배, 루크.
제 생각에는 문제는 페이지에 삽입하기 전에 Google지도 JS에서 'map_canvas'div를 사용하려고하는 것입니다. 나는'var. mapLatLong'에서 다른 것들을 감싸는 initialize 함수를 호출하기 전에'this. $ el.html (this.mapCanvas);'라고 말하고 싶습니다. – duncan
그래, 그게 내가하려는거야, 내가 설정하고 싶어. DOM에 삽입하기 전에지도를 올리십시오. 그러나 나는 그것이 가능하지 않다는 느낌을 받고 있습니다. – lukehillonline
그래, 그렇게 생각하지 않아. 처음부터 DOM에 정상 div가 존재하지만 처음에는 숨겨진 다음지도를 만든 후에 표시하는 것은 어떻습니까? – duncan