У меня есть веб-сайт ASP.NET, который содержит карту Google. Я использую фреймворк GoogleMapForASPNet, созданный каким-то умным и полезным человеком.
В любом случае, у меня проблема с центрированием карты после вставки двух выводов.
По сути, я вычисляю среднюю точку штифтов и устанавливаю ее в качестве центральной точки карты.
Ниже мой код:
GooglePoint newPoint = new GooglePoint();
double newLat = 0;
double newLong = 0;
if (googlePointA.Latitude > googlePointB.Latitude)
{
newLat = googlePointA.Latitude - googlePointB.Latitude;
newPoint.Latitude = googlePointA.Latitude - newLat;
}
else
{
newLat = googlePointB.Latitude - googlePointA.Latitude;
newPoint.Latitude = googlePointB.Latitude + newLat;
}
if (googlePointA.Longitude > googlePointB.Longitude)
{
newLong = googlePointA.Longitude - googlePointB.Longitude;
newPoint.Longitude = googlePointA.Longitude - newLong;
}
else
{
newLong = googlePointB.Longitude - googlePointA.Longitude;
newPoint.Longitude = googlePointB.Longitude + newLong;
}
GoogleMapForASPNet1.GoogleMapObject.CenterPoint = newPoint;
GoogleMapForASPNet1.GoogleMapObject.ZoomLevel = 8;
Работает пополам, но не правильно. Как и в случае, когда я кормлю разные булавки, на самом деле это не центр карты, но достаточно близко. Или, иногда, другая булавка будет вне карты, но только на дюйм, что означает, что карта вообще не центрирована.
Увеличение является статическим, потому что контакты всегда будут рядом, поэтому мне не нужно делать его динамичным.
Любая помощь чрезвычайно, чрезвычайно, чрезвычайно ценится.
Спасибо.