0

为什么我不能在 V3 API 的谷歌地图上添加制造商?这是代码:

 <script type="text/javascript">    
     var map;
            var myCenter = new google.maps.LatLng(100, 100); 
            function CoordMapType() {
            }

            CoordMapType.prototype.tileSize = new google.maps.Size(256, 256);
            CoordMapType.prototype.maxZoom = 18;
            CoordMapType.prototype.minZoom = 10;


            CoordMapType.prototype.getTile = function (coord, zoom, ownerDocument) {
                var div = ownerDocument.createElement('div');
                div.innerHTML = '<img name="" src="mapTiles/' + zoom + '/' + coord.y + '/' + coord.x + '.png"/>';
                div.style.width = this.tileSize.width + 'px';
                div.style.height = this.tileSize.height + 'px';
                div.style.fontSize = '10';
                return div;
            };


            CoordMapType.prototype.name = "Tile #s";
            CoordMapType.prototype.alt = "Tile Coordinate Map Type";

            var coordinateMapType = new CoordMapType();

            function initialize() {
                var mapOptions = {
                    zoom: 10,
                    center: myCenter,
                    mapTypeControl:false
                    mapTypeId: "coordinate"
                 };
                map = new google.maps.Map(document.getElementById("map_canvas"),
              mapOptions);

                map.mapTypes.set('coordinate', coordinateMapType);
                       var marker = new google.maps.Marker({ position: myCenter, title: "Hello World!" });
                marker.setMap(map);  
            }

    </script>

我在我的服务器中使用瓷砖。地图可以显示,但标记不在地图上。

有什么问题?

谢谢。

4

1 回答 1

0

该类google.maps.LatLng支持纬度 [-90, 90] 和经度 [-180,180],因此您的myCenter对象需要在该范围内。

var myCenter = new google.maps.LatLng(41.88, -87.62); 

Google Maps API v3 LatLng 类参考

摘自 Google Maps API v3: 创建一个表示地理点的 LatLng 对象。纬度在 [-90, 90] 范围内以度为单位指定。经度在 [-180, 180] 范围内以度为单位指定。将 noWrap 设置为 true 以启用此范围之外的值。注意纬度和经度的顺序。

于 2013-04-01T18:24:39.193 回答