我在一个简单的问题上“生病”了。我正在使用 OpenLayers 显示带有谷歌地图基础层的地图。作为用户建议,我正在使用用户提供的地址向谷歌地理编码 API 发出请求。
问题:
google api 响应是这样的:
lat: "-34.8836111"
lon: "-56.1819444"
之后,我必须创建一个 LonLat OpenLayers 对象并进行转换,如下所示:
var lonLat = new OpenLayers.LonLat(position.coords.longitude,
position.coords.latitude)
.transform(
new OpenLayers.Projection("EPSG:4326"), //transform from WGS 1984
window.user_map.getProjectionObject() //to Spherical Mercator Projection
);
问题是 lonLat 格式的精度不同。
lat: -4148075.5841099103
lon: -6254145.441513423
我只需要前两个整数数字就可以使用谷歌地图 API(在另一个页面中)进行显示。
有什么帮助吗?这可以在 ruby 中解决,例如在格式化坐标的 bebore_save 方法中,或者在客户端使用 javascript/jquery
问候。