0

我想通過從html.erb文件中的數組中獲得經度和緯度來在Google地圖上製作一系列標記,但我不知道如何發送經度和緯度並製作標記。如何在Google地圖上使用html地址製作標記數組?

var map; 
var place1; 
var defaultZoom = 16; 
var mylat = '30.04441'; 
var mylng = '31.23571'; 
var centrePoint = new google.maps.LatLng(mylat, mylng); 
var markerX; 

//rendering the map 
google.maps.event.addDomListener(window, 'load', loadMap); 

// create map and add controls 
function loadMap() { 
    //map options 
    var mapOptions = { 
     center: new google.maps.LatLng(30.0444196, 31.23571160000006),//center in cairo 
     zoom: defaultZoom, 
     mapTypeId: google.maps.MapTypeId.ROADMAP, 
     scaleControl  : false, 
     scrollwheel  : false, 
     draggable   : true, 
     mapTypeControl : false, 
     panControl  : false, 
     zoomControl  : true, 
     zoomControlOptions: { 
     style : google.maps.ZoomControlStyle.LARGE,//zoom out and in at the map 
     position: google.maps.ControlPosition.LEFT_BOTTOM 
     } 
    }; 
    //new map from google maps 
    map = new google.maps.Map(document.getElementById('google-map'),mapOptions); 
} 


and this is the html.erb 
favorite_place is an object with attributes contains longitude and latitude in database 

<h1>My Favorite Places</h1> 
    <% @favorite_places.each do |favorite_place| %> 
<p><%=link_to truncate(favorite_place.name,length:19,omission:'',separator:','), controller: "favorite_places", action:"show",id:favorite_place.id %> </p> 
<div id="google-map" class="map_new" ></div> 
<%end%> 
+0

爲什麼不直接在javascript中寫ruby代碼? – Alex 2014-10-29 15:42:47

+0

也回答你的問題,我們需要知道什麼是紅寶石代碼 – Alex 2014-10-29 15:43:29

回答

0

您可以使用此代碼的顯示標記在地圖上

Marker marker=map.add(new MarkerOptions().position(new LatLng(Lat1,Lng1)).title("Place_name")); 

這裏的地圖是一個GoogleMap對象和LAT1和Lng1應分別要顯示的地方的經度和緯度。

+0

我知道如何把一個單一的標記與lng和lat從變量在javascript中,但我想有一個數組在html.erb從favorite_places和把它發送到javascript和製作一個標記數組@RahulSolanki – 2014-10-26 16:43:21

+0

@Korem我知道如何把一個標記與lng和緯度從變量在javascript中,但我想從一個數組在html.erb從favorite_places發送到javascript並製作一組標記 – 2014-10-26 17:30:41

相關問題