0

I'm trying to customize a map of Mass..to show 10 districts. I've added the link to the map created in "my places", but I can't get the map to center, zoom or title.. The center LatLng is Worcester.. nothing works Help !!

Thanks

     <!DOCTYPE html>
     <html>
     <head>
     <meta charset="utf-8">
    <title>dist-layer</title>
    <script src="http://maps.google.com/maps/api/js?sensor=false">          </script>
    <script>

     function initialize() {
     // var myLatlng = new google.maps.LatLng(42.268843,71.803774);
     // zoomControl:false,
     // zoom: 18,
     // Title: "Mass Districts",
     //  center: myLatlng

     var map = new google.maps.Map(document.getElementById('map-canvas'),  mapOptions);
      var mapOptions = {};

      var kmlLayer = new google.maps.KmlLayer({
       url: "http://mapsengine.google.com/map/kml? mid=zHTaYadv8Mrs.kHqpg6p0mrlk&amp;lid=zHTaYadv8Mrs.khlpCJFyVigQ",
          suppressInfoWindows: true,
             Map:map
      });

      google.maps.event.addListener(kmlLayer, 'click', function(kmlEvent) {
        var text = kmlEvent.featureData.description;
        showInContentWindow(text);
      });

   function showInContentWindow(text) {
    var sidediv = document.getElementById('content-window');
    sidediv.innerHTML = text;
     }
        }

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

      </script>
    </head>
    <body>
      <div id="map-canvas" style="width:40%; height:472px; float:left;">    </div>
      <div id="content-window" style="min-width:15%; max-width:28%;    height:430px; float:left; border: #0ff 5px double;padding: 10px;">     </div>
     </body>
     </html>
davidkonrad
  • 83,997
  • 17
  • 205
  • 265
  • Maybe you want to clarify what you mean by "nothing works"? – Drunix Mar 13 '14 at 19:56
  • Sorry.. what I mean is that , I have set "zoom" from 1 to 20 with no change, center from Worcester ( where it's set now ) to London , Tokyo, with no change , title , nothing. I thought that center , zoom and mapType were required ?? Help – user3416835 Mar 13 '14 at 20:16
  • 2
    [works for me (fiddle)](http://jsfiddle.net/z6h7A/1/), I think you want preserveViewport:true – geocodezip Mar 13 '14 at 20:20
  • You have no any options defined. All is commented out. – Anto Jurković Mar 13 '14 at 20:21
  • possible duplicate of [Google Maps zoom gets overriden, when using a kml file 2](http://stackoverflow.com/questions/13386762/google-maps-zoom-gets-overriden-when-using-a-kml-file-2) – geocodezip Mar 13 '14 at 20:40

1 Answers1

0

Set preserveViewport to true, otherwise the KmlLayer will zoom to fit its contents.

    var kmlLayer = new google.maps.KmlLayer({
        url: "http://mapsengine.google.com/map/kml?mid=zHTaYadv8Mrs.kHqpg6p0mrlk&lid=zHTaYadv8Mrs.khlpCJFyVigQ",
        suppressInfoWindows: true,
        preserveViewport:true,
        map: map
    });


function initialize() {
    var myLatlng = new google.maps.LatLng(42.2625932, -71.8022934);
    // zoomControl:false,
    // zoom: 18,
    // Title: "Mass Districts",
    //  center: myLatlng
    var mapOptions = {
        zoomControl: false,
        zoom: 11,
        title: "Mass Districts",
        center: myLatlng
    };
    var map = new google.maps.Map(document.getElementById('map-canvas'), mapOptions);


    var kmlLayer = new google.maps.KmlLayer({
        url: "http://mapsengine.google.com/map/kml?mid=zHTaYadv8Mrs.kHqpg6p0mrlk&lid=zHTaYadv8Mrs.khlpCJFyVigQ",
        suppressInfoWindows: true,
        preserveViewport:true,
        map: map
    });

    google.maps.event.addListener(kmlLayer, 'click', function (kmlEvent) {
        var text = kmlEvent.featureData.description;
        showInContentWindow(text);
    });

    function showInContentWindow(text) {
        var sidediv = document.getElementById('content-window');
        sidediv.innerHTML = text;
    }
}
google.maps.event.addDomListener(window, 'load', initialize);

fiddle

geocodezip
  • 158,664
  • 13
  • 220
  • 245