2015-11-16 39 views
-1

我有一個谷歌地圖在我的網站上工作,但我希望它只專注於紐約市。我不希望地圖功能在紐約市以外的地方工作。我應該怎麼做呢?我已經訪問過用戶的位置,然後將它們引導到地圖上,但是,我應該刪除該功能,並且只是將地圖集中在某些座標上?請謝謝你的幫助。如何獲得谷歌地圖API留在一個點

var map; 
var service; 

function initialise(location) { 
    console.log("location:" + location); 
    var currentLocation = new google.maps.LatLng(location.coords.latitude, location.coords.longitude); 
    var mapOption = { 
     center : currentLocation, 
     zoom : 14, 
     mapTypeId : google.maps.MapTypeId.ROADMAP, 
    }; 

    map = new google.maps.Map(document.getElementById("map-canvas"), mapOption); 
    var marker = new google.maps.Marker({ 
     position : currentLocation, 
     map : map, 
    }); 
    marker.setIcon('http://maps.google.com/mapfiles/ms/icons/green-dot.png'); 


    service = new google.maps.places.PlacesService(map); 
    google.maps.event.addListenerOnce(map, 'bounds_changed', performSearch); 

    function handleSearchResults(results, status) { 
     console.log(results) 
    } 

    function callback(results, status) { 
     if (status == google.maps.places.PlacesServiceStatus.OK) { 
      for (var i = 0; i < results.length; i++) { 
       createMarker(results[i]); 
      } 
     } 
    } 

    function createMarker(place) { 
     var placeLoc = place.geometry.location; 
     var marker = new google.maps.Marker({ 
      map : map, 
      position : place.geometry.location 
     }); 

     .... 

     google.maps.event.addListener(marker, 'click', function() { 
      infowindow.open(map, marker); 
      var latitude = this.position.lat(); 
      var longitude = this.position.lng(); 
      console.log(this.position); 
     }); 
    } 
    google.maps.event.addListenerOnce(map, 'bounds_changed', function() { 
     var input = $("#search").val(); 
     var query = (input != '')? input : "starbucks"; 
     performSearch(query); 
    }); 
    function performSearch(q){ 
     var request ={ 
      bounds: map.getBounds(), 
      query:String(q) 
     }; 
     service.textSearch(request, callback); 
    } 
} 

function initializer() { 
    map = new google.maps.Map(document.getElementById('map-canvas'), { 
     zoom: 13, 
    }); 

    if(navigator.geolocation) { 
     browserSupportFlag = true; 
     navigator.geolocation.getCurrentPosition(function(position) { 
      initialLocation = new google.maps.LatLng(position.coords.latitude,position.coords.longitude); 
      map.setCenter(initialLocation); 
      var marker = new google.maps.Marker({ 
       position : initialLocation, 
       map : map, 
      }); 
      marker.setIcon('http://maps.google.com/mapfiles/ms/icons/green-dot.png'); 
     }, function() { 
      handleNoGeolocation(browserSupportFlag); 
     }); 
    } 
    } 

google.maps.event.addDomListener(window, 'load', initializer); 

$(".getSearch").click(function() { 
    navigator.geolocation.getCurrentPosition(initialise); 
}); 
}); 

回答

0

這裏是你可以做什麼:

創建一個邊界框來限制地圖只是紐約市區域範圍。

有各種不同的方式來實現這一目標:

簡單的使用,你可以綁定一個處理當事件發生bounds_changed更改地圖邊界(panToBounds)返回到默認的一個。