У меня есть список магазинов, который содержит широту и долготу. Здесь у меня есть широта и долгота пользователей, и у меня есть расчет расстояния между магазином и пользователем. Все работает нормально. i, что список у меня есть одна кнопка (карта), когда я нажимаю на эту кнопку, один div должен появиться с google map. В этой карте Google мне нужно показать два маркера. Это пользователь (текущий маркер местоположения пользователя), а другой - магазин (store маркер местоположения). и мне нужно показать расстояние между магазином и пользователем. пожалуйста кто-нибудь помочь мне двигаться вперед я был опробована 3 дня й добавили моей скрипку http://jsfiddle.net/rpbn6u23/21/Как показать местоположение пользователя и местоположение магазина с расстоянием между пользователем и магазином на карте google?
angular.module('myApp', [])
.controller("myCntrl", function ($scope) {
//$scope.query = " Regular Service,Hardware Faults,overall maintenance";
$scope.dealers = [{
S_Email_id: "[email protected]",
S_Store: "samsung",
Store_Name: "Adtiya Samsung Store",
S_Services: "Regular Service,Software Faults,Hardware Faults",
Store_long_description: "Undertake all kind of samsung mobiles",
Store_short_description: "Undertake all kind of samsung mobiles",
\t \t S_Latitude: "12.93489905",
\t \t S_Longitude: "77.57070772",
\t \t S_clocation: ""
}, {
S_Email_id: "[email protected]",
S_Store: "nokia",
Store_Name: "sri shakthi mobile service",
S_Services: "Settings Faults,Regular Service,Hardware Faults",
Store_long_description: "Undertake all kind of nokia mobiles",
Store_short_description: "Undertake all kind of nokia mobiles",
\t \t S_Latitude: "12.9599264",
\t \t S_Longitude: "77.5924983",
\t \t S_clocation: ""
}, {
S_Email_id: "[email protected]",
S_Store: "nokia,samsung",
Store_Name: "sun mobile service center",
S_Services: "Regular Service,overall maintenance,Mobile Shield Installation",
Store_long_description: "Undertake all kind of nokia,samsung mobiles",
Store_short_description: "Undertake all kind of nokia,samsung mobiles",
\t \t S_Latitude: "12.911229",
\t \t S_Longitude: "77.519281",
\t \t S_clocation:""
\t \t },
\t {
S_Email_id: "[email protected]",
S_Store: "nokia,samsung",
Store_Name: "ragu mobile service center",
S_Services: "Regular Service,overall maintenance,Mobile Shield Installation",
Store_long_description: "Undertake all kind of nokia,samsung mobiles",
Store_short_description: "Undertake all kind of nokia,samsung mobiles",
\t \t S_Latitude: "12.909999",
\t \t S_Longitude: "77.506871",
\t \t S_clocation: ""
\t \t }
]
\t var _lat1 =12.904778 ;
\t var _lon1 =77.585680;
\t
var d = $scope.dealers.length;
\t for (var i = 0; i < d; i++) {
var _lat2 = $scope.dealers[i].S_Latitude;
var _lon2 = $scope.dealers[i].S_Longitude;
//--------------------------------------distance calculation-------------------------------------
function _getDistanceFromLatLonInKm(lat1, lon1, lat2, lon2) {
var R = 6371; // Radius of the earth in kilometers
var dLat = deg2rad(lat2 - lat1); // deg2rad below
var dLon = deg2rad(lon2 - lon1);
var a =
Math.sin(dLat/2) * Math.sin(dLat/2) +
Math.cos(deg2rad(lat1)) * Math.cos(deg2rad(lat2)) *
Math.sin(dLon/2) * Math.sin(dLon/2);
var c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1 - a));
var d = R * c; // Distance in KM
return d;
}
function deg2rad(deg) {
return deg * (Math.PI/180)
}
// precise value
var _d = "Precise value: " + _getDistanceFromLatLonInKm(_lat1, _lon1, _lat2, _lon2);
_d = Math.round(_getDistanceFromLatLonInKm(_lat1, _lon1, _lat2, _lon2) * 100)/100;
\t \t \t \t \t $scope.dealers[i].distance = _d;
\t \t \t \t \t \t \t console.log(_d);
//-----------------------------------------------------------------------------------------------
}
\t }
)
<div ng-app="myApp">
<div ng-controller="myCntrl">
<label>Case sensitive Search on Label</label><br>
<input ng-model="query" type="text" placeholder="Search for name" />
<div ng-repeat="dealer in dealers">
{{dealer.Store_Name}}<br>
\t \t \t \t {{dealer.S_Email_id}}<br>
\t \t \t \t {{dealer.S_clocation}}
Distance: {{dealer.distance}}<br>
<input type="button" name="map" id="map" value="map"><br><br>
\t \t \t \t </div><br><br><br>
</div>
\t \t </div>
Что именно вы хотите? Вы хотите показать расстояние в км? Или просто хотите поместить линию между двумя маркерами? Просьба высказать свое точное требование. Это будет более полезно. – James
hen i click map button. Он должен отображать одну карту с двумя маркерами (пользователь, магазин) с линией и должен показывать расстояние –
Хорошо. Дайте мне немного минут, я помогу вам. – James