Javascript 在同一页面上使用两个不同id的谷歌地图';s
我对谷歌地图api完全陌生,我不知道如何配置它来显示两张地图。我正在使用地图来显示附近的学校,客户要求在不同位置的单页上显示3张地图,每张地图上有不同的数据。这里的问题是,每当我放置一个新的map div和change脚本时,它都不会出现。更改的id不显示,在脚本加载中更改init=places&callback=initMap不显示更改的js不再工作。我的js代码是Javascript 在同一页面上使用两个不同id的谷歌地图';s,javascript,jquery,google-maps,Javascript,Jquery,Google Maps,我对谷歌地图api完全陌生,我不知道如何配置它来显示两张地图。我正在使用地图来显示附近的学校,客户要求在不同位置的单页上显示3张地图,每张地图上有不同的数据。这里的问题是,每当我放置一个新的map div和change脚本时,它都不会出现。更改的id不显示,在脚本加载中更改init=places&callback=initMap不显示更改的js不再工作。我的js代码是 <script type="text/javascript"> var map; var infowindow; f
<script type="text/javascript">
var map;
var infowindow;
function initMap() {
var pyrmont = {lat: <?= $data->latitude ?>, lng: <?= $data->longitude ?>};
map = new google.maps.Map(document.getElementById('map2'), {
center: pyrmont,
zoom: 15
});
infowindow = new google.maps.InfoWindow();
var service = new google.maps.places.PlacesService(map);
service.nearbySearch({
location: pyrmont,
radius: 1500,
type: ['school']
}, schoolCallback);
}
function schoolCallback(results, status) {
if (status === google.maps.places.PlacesServiceStatus.OK) {
for (var i = 0; i < results.length; i++) {
createSchoolMarker(results[i]); //results doesn't contain anything related to type (school,store,etc)
}
}
}
function createSchoolMarker(place) {
var placeLoc = place.geometry.location;
var marker = new google.maps.Marker({
icon: "http://icons.iconarchive.com/icons/icons8/windows-8/16/Science-School-icon.png",
map: map,
position: place.geometry.location
});
google.maps.event.addListener(marker, 'click', function () {
infowindow.setContent(place.name);
infowindow.open(map, this);
});
}
var映射;
var信息窗口;
函数initMap(){
var pyrmont={lat:,lng:};
map=new google.maps.map(document.getElementById('map2'){
中心:皮尔蒙特,
缩放:15
});
infowindow=new google.maps.infowindow();
var service=newgoogle.maps.places.PlacesService(地图);
服务,近距离搜索({
地点:皮尔蒙特,
半径:1500,
类型:[“学校”]
},学校回访);
}
函数回调(结果、状态){
if(status==google.maps.places.PlacesServiceStatus.OK){
对于(var i=0;i
HTML代码是
<div class="resultmap" style="width: 100%;">
<div id="map3" style="width: 100%; height: 316px;"></div>
</div>
如果有人开发了一个包含多个映射的页面,请建议一种合适的方法我建议您将所有javascript映射代码封装到一个接受div元素id的函数中。之后,go有三个div元素,每个元素都有一个唯一的id。然后调用函数三次
<!-- each of the following will hold a map -->
<div id="map1"></div>
<div id="map2"></div>
<div id="map3"></div>
//wrap the javascript code for the map in a function
function makeMap("whichMap"){
//the following will be the line that selects the div
map = new google.maps.Map(document.getElementById(whichMap), {
}
//将映射的javascript代码包装到函数中
函数makeMap(“whichMap”){
//以下是选择div的行
map=new google.maps.map(document.getElementById(whichMap){
}