私は緯度と経度を持つ136をはるかに超える場所を持っており、基本的に、Javaスクリプト、かみそり、およびC#を使用して、適切な地図上に136の地図マーカーを作成しようとしています. 問題は、かみそりの JavaScript の一部が表示されないことです。すべてを正しく行っているかどうか知りたいです。
var mapMarker;
@{
IEnumerable<UFA.Location.Core.Location> Location = UFALocation___Front.Helpers.QueryHelper.QueryHelper.getAllLocations();
foreach(var loc in Location){
<text>
mapMarker = new google.maps.Marker({
position: new google.maps.LatLng(@loc.latitude, @loc.longitude),
map: map,
title: "Hello World!"
});
</text>
}
}
基本的に、すべての場所をループして緯度と経度を取得するだけです。問題は、for each の javascript が存在しないため、マーカーが表示されないことです。
以下の完全なスクリプト:
function success(position) {
var s = document.querySelector('#status');
if (s.className == 'success') {
// not sure why we're hitting this twice in FF, I think it's to do with a cached result coming back
return;
}
s.innerHTML = "found you!";
s.className = 'label label-success';
var latlng = new google.maps.LatLng(position.coords.latitude, position.coords.longitude);
var directionsService = new google.maps.DirectionsService();
var directionsDisplay = new google.maps.DirectionsRenderer();
var map = new google.maps.Map(document.getElementById('map'), {
zoom: 15,
center: latlng,
mapTypeControl: false,
navigationControlOptions: { style: google.maps.NavigationControlStyle.SMALL },
mapTypeId: google.maps.MapTypeId.ROADMAP
});
var marker = new google.maps.Marker({
position: latlng,
map: map,
title: "You are here! (at least within a " + position.coords.accuracy + " meter radius)"
});
var mapMarker;
@{
IEnumerable<UFA.Location.Core.Location> Location = UFALocation___Front.Helpers.QueryHelper.QueryHelper.getAllLocations();
foreach(var loc in Location){
<text>
mapMarker = new google.maps.Marker({
position: new google.maps.LatLng(@loc.latitude, @loc.longitude),
map: map,
title: "Hello World!"
});
</text>
}
}
var SampleMarker = new google.maps.Marker({
position: new google.maps.LatLng(51.379, -113.53),
map: map,
title: "Hello World!"
});
directionsDisplay.setMap(map);
var request = {
origin: latlng,
destination: '304 304 26th ave sw calgary alberta',
travelMode: google.maps.DirectionsTravelMode.DRIVING
};
directionsService.route(request, function (response, status) {
if (status == google.maps.DirectionsStatus.OK) {
directionsDisplay.setDirections(response);
}
});
}
function error(msg) {
var s = document.querySelector('#status');
s.innerHTML = typeof msg == 'string' ? msg : "failed";
s.className = 'alert alert-error';
// console.log(arguments);
}
if (navigator.geolocation) {
navigator.geolocation.getCurrentPosition(success, error);
} else {
error('not supported');
}