我来这里是因为我正在尝试使用Leafletjs API创建GTA V地图。在行动中,我已经准备好了我的瓷砖。但目的是通过使用GTA V游戏中的坐标将标记放在地图上。要实现它,我需要将坐标转换为LatLong,但经过多次研究,我无法找到解决方案。
答案 0 :(得分:3)
您的坐标来自不同的地图投影。 Leaflet很可能是标准的WGS 84(SRID 4326)。 GTA V坐标显然基于不同的投影。
坐标可以从一个投影转换为另一个投影。但是你需要知道你的坐标来自哪个投影来进行数学运算。 Here是一个在线转换器,提供了一些常见的投影,我尝试了你的坐标,但没有运气接近这些预测。
答案 1 :(得分:2)
我试过了:
var latlng = new L.latLng(-43.1731, 6.6906);
var point = L.Projection.Mercator.project(latlng);
console.log(point);
// o.Point {x: 744794.1851014761, y: -5309112.129212381}
它不接近你的GTA V坐标,但我不确定它只是例如。
答案 2 :(得分:0)
您可以使用@(Html.Kendo().Grid((IEnumerable<EE.BusinessLayer.ProviderLogic.POCO.CommentPOCO>)Model.Comments)
.Name("Comments")
.Columns(columns =>
{
columns.Bound(c => c.CommentsID).Hidden();
columns.Bound(c => c.ModifiedDate).Title("").Width(300).ClientTemplate("#=kendo.format(\"{0:MM/dd/yyyy hh:mm tt}\",kendo.parseDate(ModifiedDate))#" + "<br> #=UserName#");
columns.Bound(c => c.Comment).Title("").EditorTemplateName("TextAreaTemplate").ClientTemplate("<div style='max-width:465px;'>#=Comment#</div>").HtmlAttributes(new { style="max-width:470px;"});
columns.Command(command => { command.Edit(); command.Destroy(); }).Width(200);
})
.Events(e => e.Edit("editEvent").Save("saveEvent"))
.ToolBar(toolbar => toolbar.Create().Text("Add Comment"))
.Editable(editable => editable.Mode(GridEditMode.InLine))
.DataSource(ds => ds
.Ajax()
.Model(m => {
m.Id(p => p.CommentsID);
m.Field(p => p.CommentsID);
m.Field(p => p.ProviderID).Editable(false);
m.Field(p => p.ModifiedDate).Editable(false);
m.Field(p => p.ModifiedUserID).Editable(false);
m.Field(p => p.Comment).Editable(true);
})
.Create(update => update.Action("GridNullFunction", "Provider"))
.Update(update => update.Action("GridNullFunction", "Provider"))
.Destroy(update => update.Action("GridNullFunction", "Provider"))
.ServerOperation(true)
)
)
功能