mvc5

2017-04-19 14 views
8

में कोणीय-google-maps का उपयोग करके बहुभुज-google-maps का उपयोग करके बहुभुज को कैसे आकर्षित करें पहली बार कोणीय-Google-मानचित्र पर कार्य करना। मैं उलझन में हूं कि बहुभुज कैसे आकर्षित करें और उस क्षेत्र के सभी ज़िप कोड को पकड़ें। और मुझे नहीं पता कि यह कैसे करें। बाद मेरी कोडmvc5

<div ng-app="myapp" ng-controller="mapsController"> 
    <!--It displays the markers links--> 
    <div class="locations"> 
     <ul> 
      <li ng-repeat="l in locations" ng-click="ShowLocation(l.LocationID)"><a href="#">{{l.Title}}</a></li> 
     </ul> 
    </div> 
    <div class="maps"> 
     <!-- Add directive code (gmap directive) for show map and markers--> 
     <ui-gmap-google-map style="box-shadow:2px 2px 2px 2px lightgrey" center="map.center" zoom="map.zoom"> 
      <ui-gmap-marker ng-repeat="marker in markers" coords="marker.coords" options="marker.options" events="marker.events" idkey="marker.id"> 
       <ui-gmap-window options="windowOptions" show="windowOptions.show"> 
        <ui-gmap-drawing-manager options="drawingManagerOptions" control="drawingManagerControl"></ui-gmap-drawing-manager> 
       </ui-gmap-window> 
      </ui-gmap-marker> 
     </ui-gmap-google-map> 
    </div> 
</div> 

मेरी script.js में मैं निम्नलिखित कोड

var app = angular.module('myapp', ['uiGmapgoogle-maps']); //dependency we should add to angular application 
app.controller('mapsController', function ($scope, uiGmapGoogleMapApi) { 
    //this is default coordinates for the map when it loads for first time 
    $scope.map = { 
     center: { 
      latitude: 41.850033, 
      longitude: -87.6500523 
     }, 
     zoom: 4, 
     polygons: [], 
     isDrawingModeEnabled: true, 
     bounds: {} 
    }; 
    $scope.markers = []; 
    $scope.locations = []; 

    $scope.windowOptions = { 
     show: true 
    }; 
    $scope.options = { 
     scrollwheel: false 
    }; 


    uiGmapGoogleMapApi.then(function (maps) { 
     $scope.drawingManagerOptions = { 
      drawingMode: google.maps.drawing.OverlayType.MARKER, 
      drawingControl: true, 
      drawingControlOptions: { 
       position: google.maps.ControlPosition.TOP_CENTER, 
       drawingModes: [ 
        google.maps.drawing.OverlayType.MARKER, 
        google.maps.drawing.OverlayType.CIRCLE, 
        google.maps.drawing.OverlayType.POLYGON, 
        google.maps.drawing.OverlayType.POLYLINE, 
        google.maps.drawing.OverlayType.RECTANGLE 
       ] 
      }, 
      circleOptions: { 
       fillColor: '#ffff00', 
       fillOpacity: 1, 
       strokeWeight: 5, 
       clickable: false, 
       editable: true, 
       zIndex: 1 
      } 
     }; 
     $scope.markersAndCircleFlag = true; 
     $scope.drawingManagerControl = {}; 
     $scope.$watch('markersAndCircleFlag', function() { 
      if (!$scope.drawingManagerControl.getDrawingManager) { 
       return; 
      } 
      var controlOptions = angular.copy($scope.drawingManagerOptions); 
      if (!$scope.markersAndCircleFlag) { 
       controlOptions.drawingControlOptions.drawingModes.shift(); 
       controlOptions.drawingControlOptions.drawingModes.shift(); 
      } 
      $scope.drawingManagerControl.getDrawingManager().setOptions(controlOptions); 
     }); 
    }) 

}).config(function (uiGmapGoogleMapApiProvider) { 
     uiGmapGoogleMapApiProvider.configure({ 
      libraries: 'drawing,geometry,visualization' 
     }); 
    }); 


//var latlng = new google.maps.LatLng(37.09024, -95.712891); 
//latitude: 41.850033, longitude: -87.6500523 

यह केवल एक गूगल मानचित्र कि ज़ूम और यहां तक ​​कि कुछ भी नहीं तैयार की जा रही है पता चलता लिखा है है। कृपया मदद करे। एक बात मैंने नोट किया है! $ Scope.drawingManagerControl.getDrawingManager स्थिति में सत्य हो जाता है और वापस लौटाता है।

+0

क्या आपको इसका समाधान मिला? –

+0

नहीं, अभी तक कुछ भी नहीं मिला – Sana

+1

क्या आप उपयोगकर्ता को मानचित्र में बहुभुज आकर्षित करना चाहते हैं? या आप निर्देशांक हैं और आप इसके आधार पर बहुभुज आकर्षित करना चाहते हैं? –

उत्तर

5

मुझे लगता है कि आपको वापस कदम उठाना चाहिए और आप जो वास्तव में प्राप्त करना चाहते हैं उसे देखें। यदि आप कोणीय, Google मानचित्र या दोनों सीखना चाहते हैं, तो मुझे लगता है कि आप सही रास्ते में नहीं हैं। सबसे पहले, आप जिस लाइब्रेरी का उपयोग कर रहे हैं वह अब उनके रचनाकारों द्वारा बनाए रखा नहीं गया है। यहां तक ​​कि वे उपलब्ध वैकल्पिक विकल्पों का उपयोग करने की सलाह देते हैं:

Project not longer maintained

दो विकल्प वे बताते हैं मैं 2 एक की सिफारिश करेंगे के लिए: angular-google-maps

इस पुस्तकालय Angular2 साथ प्रयोग किया जा रहा है। यदि आप नई तकनीकों को सीखना चाहते हैं तो आपको उठाने पर तकनीक का लक्ष्य रखना चाहिए। Angularjs, हालांकि वास्तव में एक अच्छी पुस्तकालय व्यापक रूप से प्रयोग किया जाता है, Angular2 के पूर्ववर्ती है और यह समय के रूप में कम लोकप्रिय होगा।

ऐसा कहकर; मैंने देखा है कि आपने अपने मानचित्र में कोई मार्कर या स्थान घोषित नहीं किया है। इसलिए, आपके मानचित्र में कोई डेटा दिखाने के लिए सेट नहीं है। यही कारण है कि आप केवल एक खाली नक्शा देखते हैं।

$scope.markers = []; 
$scope.locations = []; 

मैं सुझाव है कि आप बेहतर कोड आप इसे कोशिश करते हैं और यह आकाश से बाहर काम करने के लिए पहले लागू करने के लिए कोशिश कर रहे हैं के तर्क को समझने की कोशिश।

+0

मुझे कोणीय के साथ ऐसा करना है कोणीय 2 नहीं। इसके अलावा, मार्कर घोषित करने के बाद भी यह काम नहीं किया। – Sana

+0

आपको अपना पूरा कोड पोस्ट करना चाहिए ताकि हम आपकी मदद कर सकें। – Gi1ber7

+1

यह पूरा कोड है। – Sana

संबंधित मुद्दे