Ну, вот как я бы это сделал (к вашему сведению, это в значительной степени зависит от JQuery библиотеки JavaScript):
- Укажите
<div>
, где будет отображаться ваша карта.
- используйте обработчик $ (document) .ready () , чтобы дождаться загрузки DOM для запуска вашего запроса
- Используйте асинхронный вызов JQuery
$.ajax
для веб-службы WCF или ASMX, которая возвращает JSON, представляющий данные вашего маркера.
Вот примерный фрагмент кода:
... your web page
<script>
$(document.)ready(function() {
$.ajax(
url: "mapquery.asmx",
async: true,
dataType: json,
success: function(data)
{
var map = new GMap2(document.getElementById("map_div"));
for (int i = 0; i < data.length; i++)
{
var point = new GLatLng(data.results[i].lat,
data.results[i].lng);
var marker = createMarker(point, data.results[i].desc,
data.results[i].type);
map.addOverlay(marker);
}
}
);
});
</script>
пример json, возвращенного из mapquery.asmx:
results = [ {
lat: 41.765,
lng: 80.572
desc: "My house",
type: "X"
},
{
lat: 42.765,
lng: 81.572
desc: "Friend's house",
type: "X"
}
]