Javascript 在同一页面上使用两个不同id的谷歌地图';s

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

我对谷歌地图api完全陌生,我不知道如何配置它来显示两张地图。我正在使用地图来显示附近的学校,客户要求在不同位置的单页上显示3张地图,每张地图上有不同的数据。这里的问题是,每当我放置一个新的map div和change脚本时,它都不会出现。更改的id不显示,在脚本加载中更改init=places&callback=initMap不显示更改的js不再工作。我的js代码是

<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){
}