Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

495
Views
unable to get property 'getRegularPolygon' of undefined or null

I use invokescript in C# to call on SetCoords and it seems like everything's working fine until it runs into the "getRegularPolygon" line. I can't find any documentation for the method but I got the second half of the SetCoords function from this: https://docs.microsoft.com/en-us/bingmaps/v8-web-control/map-control-concepts/spatial-math-module-examples/geolocation-accuracy-circle-example Other places I've looked for answers say something about "getelementbyid" but that doesn't seem to apply here.

<!DOCTYPE html>
<html>
<head>
    <title></title>
    <meta charset="utf-8" http-equiv="X-UA-Compatible" content="IE=edge" />
    <script type='text/javascript' src='http://www.bing.com/api/maps/mapcontrol?callback=GetMap&key={mykey}' async defer></script>
    <script type='text/javascript' async defer>
        var map, infobox, pushpin, radius;
        var centerlattitude = 0.0;
        var centerlongitude = 0.0;
        
        function GetMap() {
            var center = new Microsoft.Maps.Location(centerlattitude, centerlongitude);
            map = new Microsoft.Maps.Map('#myMap', { center: center, zoom: 20 });
            pushpin = new Microsoft.Maps.Pushpin(new Microsoft.Maps.Location(centerlattitude, centerlongitude + 0.0005), { draggable: true });
            map.entities.push(pushpin);
            Microsoft.Maps.Events.addHandler(pushpin, 'changed', getNewCenter);
        }
        function SetCoords(lat, long, rad) {
            centerlattitude = lat;
            centerlongitude = long;
            radius = rad;
            GetMap();
            var path = Microsoft.Maps.SpatialMath.getRegularPolygon(center, radius*1000, 8, Microsoft.Maps.SpatialMath.Meters);
            var poly = new Microsoft.Maps.Polygon(path);
            map.entities.push(poly);
        }
</body>
</html>
about 4 years ago · Santiago Trujillo
1 answers
Answer question

0

You need to load the spatial math library. Bing Maps is modularized to help reduce the overall size of applications so that developers only load in the parts they need to ensure fast initial loading of the app. Note that loading of modules is asynchronous, so you have to run your code that accesses the module, after it has finished loading. Here is an example:

//Load the spatial math module
Microsoft.Maps.loadModule("Microsoft.Maps.SpatialMath", function () {
    var path = Microsoft.Maps.SpatialMath.getRegularPolygon(center, radius*1000, 8, Microsoft.Maps.SpatialMath.Meters);
    var poly = new Microsoft.Maps.Polygon(path);
    map.entities.push(poly);
});
about 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!