Member 13685517 Ответов: 1

Отображение значков карт, где долгота и широта хранятся в базе данных SQL


Мне нужно отобразить значки карт для нескольких различных местоположений, где широта и долгота хранятся в базе данных sql. Как я могу подойти к этому?

Что я уже пробовал:

Попробовал жесткое кодирование, и это работает, но мне нужно сделать это из базы данных.

ZurdoDev

Найдите инструмент отображения.
SQL имеет множество встроенных функций для работы с координатами, хотя я никогда ими не пользовался.

F-ES Sitecore

Измените свои жестко закодированные координаты на координаты из базы данных. Пока мы не узнаем, какую картографическую систему вы используете и какую технологию доступа к базе данных используете, мы не сможем дать конкретный совет.

Member 13685517

я использую bing map portal для этого проекта

1 Ответов

Рейтинг:
0

MadMyche

Я дам вам расплывчатый ответ, поскольку все, что я знаю, это использование C#, некоторого аромата SQL и неизвестного носителя отображения.

Для части SQL я буду использовать минимальную структуру таблиц

CREATE TABLE dbo.Locations (
  LocID   INT IDENTITY(1,1) NOT NULL,
  locName NVARCHAR(100)		NULL,	-- Location Name
  LocLat  DECIMAL(9,6)		NULL,	-- Latitude
  LocLng  DECIMAL(9,6)		NULL,	-- Longitude
  CONSTRAINT [PK_Locations_ID] PRIMARY KEY CLUSTERED([LocID] ASC) ON [PRIMARY]
) ON [PRIMARY]
GO

INSERT Locations( LocName, LocLat, LocLng)
VALUES  ('Los Angeles', 34.05223, -118.24368)
,       ('Santa Monica', 34.02421, -118.49647)
,       ('Redondo Beach', 33.84918, -118.38840)
,       ('Newport Beach', 33.62834, -117.92793)
,       ('Long Beach', 33.77005, -118.19373)
GO


Следующие 2 части будут на языке C#; сначала Poco
CREATE TABLE dbo.Locations (
	public int LocID
	public string LocName
	public double LocLat
	public double LocLng
}


А вторым будет население
// write your own code, but here are the highlights

string cmd = "SELECT LocName, LocLat, LocLng FROM Locations"
// create DataReader and use above to populate
// return Collection<Locations> from above DataReader


Последняя вещь, чтобы отобразить это. Не зная, как вы собираетесь это сделать, все, что я могу сказать, - это просто передать вышеприведенную коллекцию и повторить ее.