javascript - invalidValueError : setCenter : not a LatLng or LatLngLiteral Object - Stack Overflow

I'm new to google map api v3. I already establish a decent google map with 2 marker but when I use

I'm new to google map api v3. I already establish a decent google map with 2 marker but when I use google.maps.latlngBounds, it return me an error

invalidValueError : setCenter : not a LatLng or LatLngLiteral Object.

How can I fix this? I just want to centre my map around these markers.

function initialize() {

          var myLatlng = new google.maps.LatLng(-25.363882,131.044922);
          var myLatlng2 = new google.maps.LatLng(-25.573688, 132.567212);

        var mapOptions = {
          center: myLatlng,
          zoom: 8,
          mapTypeId: google.maps.MapTypeId.ROADMAP
        };

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

            var marker = new google.maps.Marker({
            position: myLatlng
        });

        var marker2 = new google.maps.Marker({
            position: myLatlng2
        });

        trackerMarkerArray.push(marker);
        trackerMarkerArray.push(marker2);

        var latlngbound = new google.maps.LatLngBounds ();
        for (var i = 0; i<trackerMarkerArray.length; i++){
            trackerMarkerArray[i].setMap(map);

            latlngbound.extend(trackerMarkerArray[i].position);
        }




        //render new map and center around group of marker
        map.setCenter(latlngbound);
        map.fitBounds(latlngbound);


        } catch (err){
            alert(err);
        }


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

I'm new to google map api v3. I already establish a decent google map with 2 marker but when I use google.maps.latlngBounds, it return me an error

invalidValueError : setCenter : not a LatLng or LatLngLiteral Object.

How can I fix this? I just want to centre my map around these markers.

function initialize() {

          var myLatlng = new google.maps.LatLng(-25.363882,131.044922);
          var myLatlng2 = new google.maps.LatLng(-25.573688, 132.567212);

        var mapOptions = {
          center: myLatlng,
          zoom: 8,
          mapTypeId: google.maps.MapTypeId.ROADMAP
        };

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

            var marker = new google.maps.Marker({
            position: myLatlng
        });

        var marker2 = new google.maps.Marker({
            position: myLatlng2
        });

        trackerMarkerArray.push(marker);
        trackerMarkerArray.push(marker2);

        var latlngbound = new google.maps.LatLngBounds ();
        for (var i = 0; i<trackerMarkerArray.length; i++){
            trackerMarkerArray[i].setMap(map);

            latlngbound.extend(trackerMarkerArray[i].position);
        }




        //render new map and center around group of marker
        map.setCenter(latlngbound);
        map.fitBounds(latlngbound);


        } catch (err){
            alert(err);
        }


      }
      google.maps.event.addDomListener(window, 'load', initialize);
Share Improve this question edited Apr 11, 2014 at 3:55 gangadhars 2,7287 gold badges44 silver badges72 bronze badges asked Apr 11, 2014 at 3:46 Keluang Yang Ko KenalKeluang Yang Ko Kenal 861 gold badge3 silver badges9 bronze badges
Add a ment  | 

2 Answers 2

Reset to default 3

To "fit" the map to a set of markers added to a google.maps.LatLngBounds object use map.fitBounds(bounds), not map.setCenter().

google.maps.Map documentation

    map.setCenter(latlngbound);

map.setCenter takes a LatLng as a parameter, you're passing a LatLngBounds, I think you want to do it like this:

    map.setCenter(latlngbound.getCenter());

发布者:admin,转转请注明出处:http://www.yc00.com/questions/1744337365a4569195.html

相关推荐

发表回复

评论列表(0条)

  • 暂无评论

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信