私はルビーを使用しており、ページにマップを設定しています。初期化時にマーカーを追加できますが、@events をループして経度と緯度のフィールドを見つけて、このようなことをしたいのです。
<% @event.each do |event|%>
<script type="text/javascript">
var long = <%= event.longitude %>;
var lati = <%= event.latitude %>;
addMarker(long, lati);
</script>
<% end %>
私はGoogle APIに精通していませんが、可能であれば期待していました.
ここで、マップAPIの構築に関して私が持っているもの
function initialize()
{
var lat, lon, map, myOptions;
//check if user has geo feature
if(navigator.geolocation){
navigator.geolocation.getCurrentPosition(
//get position
function(position){
lat = position.coords.latitude;
lon = position.coords.longitude;
//init map
myOptions = {
center: new google.maps.LatLng(lat, lon),
zoom: 8,
mapTypeId: google.maps.MapTypeId.ROADMAP
};
map = new google.maps.Map(document.getElementById("map_canvas"),
myOptions);
var myLatlng = new google.maps.LatLng(46.4352,-80.9455);
var marker = new google.maps.Marker({
position: myLatlng,
title:"Hello World!"
});
// To add the marker to the map, call setMap();
marker.setMap(map);
},
// if there was an error
function(error){
alert('ouch');
});
}
//case the users browser doesn't support geolocations
else
{
alert("Your browser doesn't support geolocations, please consider downloading Google Chrome");
}
}