में Google मानचित्र प्रारंभ करें I backbonejs से angularjs में माइग्रेट करने पर विचार कर रहा हूं।AngularJS
रीढ़ की हड्डी में मैं एक दृश्य शुरू करने में सक्षम हूं जिस बिंदु पर मैं Google मानचित्र का एक उदाहरण बना देता हूं। मैं फिर पैन/ज़ूम/आदि कर सकता हूं और विचारों के बीच स्विच कर सकता हूं और मानचित्र की वर्तमान स्थिति को खो नहीं सकता।
को देखते हुए निम्नलिखित का उपयोग कर AngularJS:
layout.html
<body>
<div class="container-fluid" ng-view></div>
map.html
<div id="map_canvas" ng-controller="MapCtrl"></div>
मैं एक नक्शे के ठीक रेंडर करने के लिए एक निर्देश बनाने के लिए कर रहा था। समस्या यह है कि जब भी मैं मानचित्र दृश्य पर वापस स्विच करता हूं तो यह मानचित्र को फिर से लोड करता है।
<map></map>
तो मैं किस बारे में कोणीय सीख रहा हूँ, मैं सोचा मैं एक MapController बना सकते हैं और मानचित्र आरंभ वहाँ होगा। कोई सफलता नहीं।
नीचे की रेखा मुझे Google मानचित्र में एसिंक-इनिट करने की आवश्यकता है और स्थानीय रूप से या दूरस्थ रूप से डेटा को पुश करने की आवश्यकता है और हर बार स्क्रैच से मानचित्र को रिवॉल्ड किए बिना ऐप पर नेविगेट करने में सक्षम हो।
क्या कोई सही दृष्टिकोण सुझा सकता है?
app.js में:
// Generated by CoffeeScript 1.3.3
(function() {
"use strict";
angular.module("ofm", ["ofm.filters", "GoogleMaps", "ofm.directives"]).config([
"$routeProvider", "$locationProvider", function($routeProvider, $locationProvider) {
$routeProvider.when("/", {
templateUrl: "partials/home"
}).when("/map", {
templateUrl: "partials/map",
controller: MapCtrl
}).otherwise({
redirectTo: "/"
});
return $locationProvider.html5Mode(true);
}
]);
}).call(this);
services.js में:
angular.module('GoogleMaps', []).
factory('wasMapInitialized', function() {
console.log("inside service");
var maps = 0;
if (!maps) {
maps += 1;
return 0;
} else {
return 1;
}
});
आप :)
प्रति एंडी Joslin सुझाव का प्रयास धन्यवाद
controllers.js में:
function MapCtrl($scope) {
if (!GoogleMaps.wasMapInitialized()) {
var lat = 46.87916;
var lng = -3.32910;
var map_id = '#map';
initialize(map_id, lat, lng);
}
function initialize(map_id, lat, lng) {
var myOptions = {
zoom : 8,
center : new google.maps.LatLng(lat, lng),
mapTypeId : google.maps.MapTypeId.ROADMAP
};
var map = new google.maps.Map($(map_id)[0], myOptions);
}
}
map.html में
#map
<div ng-controller="MapCtrl"></div>
मैं त्रुटि: अज्ञात प्रदाता: GoogleMapsProvider < - GoogleMaps
+1। जवाब भी जानना चाहेंगे। –
मैंने निरंतर सुधार के साथ एक परियोजना [कोणीय-Google-मानचित्र] (https://github.com/LarryEitel/angular-google-maps) बनाई है। [लाइव संस्करण] देखें (http://angular-google-maps.nodester.com/) –
ग्रेट, पहले से ही मेरी घड़ी सूची पर। :) –