I'm trying to use marcator projection with custom map and when I run
it I get the following JS error:
d[Ab] is not a function (main.js line 40).

anybody can find the problem?

 var MERCATOR_RANGE = 256;

  function bound(value, opt_min, opt_max) {
      if (opt_min != null) value = Math.max(value, opt_min);
        if (opt_max != null) value = Math.min(value, opt_max);
          return value;
  }
function degreesToRadians(deg) {
    return deg * (Math.PI / 180);
}
function radiansToDegrees(rad) {
    return rad / (Math.PI / 180);
}

function MercatorProjection() {
    this.pixelOrigin_ = new google.maps.Point(MERCATOR_RANGE / 2,
MERCATOR_RANGE / 2);
    this.pixelsPerLonDegree_ = MERCATOR_RANGE / 360;
    this.pixelsPerLonRadian_ = MERCATOR_RANGE / (2 * Math.PI);
};

MercatorProjection.prototype.fromLatLngToPoint = function(latLng,
opt_point) {
    var me = this;

    var point = opt_point || new google.maps.Point(0, 0);

    var origin = me.pixelOrigin_;
    point.x = Math.round(origin.x + latLng.lng() *
me.pixelsPerLonDegree_);
    // NOTE(appleton): Truncating to 0.9999 effectively limits
latitude to
    // 89.189.  This is about a third of a tile past the edge of the
world tile.
    var siny = bound(Math.sin(degreesToRadians(latLng.lat())),
-0.9999, 0.9999);

    point.y = Math.round(origin.y + 0.5 * Math.log((1 + siny) / (1 -
siny)) * -me.pixelsPerLonRadian_);
    return point;
};

MercatorProjection.prototype.fromPointToLatLng = function(point) {
    var me = this;

    var origin = me.pixelOrigin_;
    var lng = (point.x - origin.x) / me.pixelsPerLonDegree_;
    var latRadians = (point.y - origin.y) / -me.pixelsPerLonRadian_;
    var lat = radiansToDegrees(2 * Math.atan(Math.exp(latRadians)) -
Math.PI / 2);
    return new google.maps.LatLng(lat, lng);
};



    function initialize() {
      var latlng = new google.maps.LatLng(44,3);
      var MyMapType = new google.maps.ImageMapType({
        getTitleUrl: function(coord, zoom) {
          return "http://vec.maps.yandex.net/tiles?l=map&v=2.14.0&x=";
+ coord.x +"&y=" + coord.y +"&z=" + zoom;
        },
        tileSize: new google.maps.Size(256,256),
        isPng: true,
        minZoom: 0,
        maxZoom: 17,
        name: 'MyMap'
      });
      MyMapType.projection = new MercatorProjection();

      var myOptions ={
        zoom: 8,
        center: latlng,
        mapTypeId: google.maps.MapTypeId.ROADMAP
      };
        map = new
google.maps.Map(document.getElementById("map_canvas"), myOptions);
        map.mapTypes.set('myMap', MyMapType);
        map.setMapTypeId('myMap');
}

-- 
You received this message because you are subscribed to the Google Groups 
"Google Maps JavaScript API v3" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/google-maps-js-api-v3?hl=en.

Reply via email to