Beispiel #1
0
        private void setLocCI_Click(object sender, EventArgs e)
        {
            pt = new Point();
            pt = pictureBox1.PointToClient(p);
            gu = new Mapping.GeoUtils();
            mu = new Mapping.MapUtils();

            //translate pixels tapped on to GPS coordinates
            double lat    = currCentre.getLat();
            double lng    = currCentre.getLng();
            double newLat = Mapping.CoordTranslate.adjustLatByPixels(lat, pt.Y - 150, zoom);
            double newLng = Mapping.CoordTranslate.adjustLonByPixels(lng, pt.X - 240, zoom);

            //clear previous markers from the array
            currMap.clearMarkers();

            //add the new loc marker to the map
            currMarker = new Mapping.Marker(1, "red", "S", (newLat + "," + newLng));
            currMap.setMarkers(currMarker.toString());

            //check if need to add existing destination marker
            if (destLoc.getReady() == 1)
            {
                currMarker = new Mapping.Marker(1, "yellow", "D", destLoc.getCoords());
                currMap.setMarkers(currMarker.toString());
            }

            //generate map
            currMap.setCenter((newLat + "," + newLng));
            pictureBox1.Image = mu.getMapImage(mu.generateMap(currMap));
            pictureBox1.Refresh();

            //update start location object
            startLoc.setLat(newLat);
            startLoc.setLng(newLng);
            startLoc.setCoords((newLat + "," + newLng));
            startLoc.setReady(1);

            //update centre location
            currCentre.setLat(newLat);
            currCentre.setLng(newLng);
            currCentre.setCoords((newLat + "," + newLng));

            //update address to textbox
            Mapping.Geo tempG = new Mapping.Geo();
            tempG.setLat(newLat);
            tempG.setLatLng((newLat + "," + newLng));
            Mapping.Location tempLoc = gu.getGeoLocation(tempG);
            tbLoc.Text = tempLoc.getDisplay_address();
        }
Beispiel #2
0
        public Location getGeoLocation(Geo g)
        {
            //http://maps.google.com/maps/api/geocode/xml?latlng=40.714224,-73.961452&sensor=false
            string request = "http://maps.google.com/maps/api/geocode/xml?";

            request += "latlng=" + g.getLatLng() + "&" + "sensor=" + g.getSensor();

            //read in xml
            XmlDocument xdoc = new XmlDocument();

            xdoc.Load(request);

            XmlNode     node            = xdoc.DocumentElement;
            XmlNodeList nodeLongAddrCol = node.SelectNodes("//formatted_address");

            XmlNodeList nodeShortAddrCol = node.SelectNodes("/GeocodeResponse/address_component[type=route]");
            Location    loc = new Location();

            loc.setDisplay_address(nodeLongAddrCol.Item(0).InnerText);

            double lat = g.getLat();
            double lng = g.getLng();

            loc.setCoords(lat + "," + lng);
            loc.setLat(lat);
            loc.setLng(lng);
            return(loc);
        }
Beispiel #3
0
        public Location getLocation(Geo g)
        {
            try
            {
                string request = "http://maps.google.com/maps/api/geocode/xml?";
                request += "address=" + g.getAddress() + "&" + "sensor=" + g.getSensor();

                //read in xml
                XmlDocument xdoc = new XmlDocument();
                xdoc.Load(request);

                XmlNode     node            = xdoc.DocumentElement;
                XmlNodeList nodeLongAddrCol = node.SelectNodes("//formatted_address");

                Location loc = new Location();

                loc.setDisplay_address(nodeLongAddrCol.Item(0).InnerText);
                string lat = node.SelectNodes("//location/lat").Item(0).InnerText;
                string lng = node.SelectNodes("//location/lng").Item(0).InnerText;
                loc.setCoords(lat + "," + lng);
                loc.setLat(Convert.ToDouble(lat));
                loc.setLng(Convert.ToDouble(lng));
                return(loc);
            }
            catch (NullReferenceException)
            {
                return(null);
            }
        }
Beispiel #4
0
        public Location getLocation(Geo g)
        {
            try
            {
                string request = "http://maps.google.com/maps/api/geocode/xml?";
                request += "address=" + g.getAddress() + "&" + "sensor=" + g.getSensor();

                //read in xml
                XmlDocument xdoc = new XmlDocument();
                xdoc.Load(request);

                XmlNode node = xdoc.DocumentElement;
                XmlNodeList nodeLongAddrCol = node.SelectNodes("//formatted_address");

                Location loc = new Location();

                loc.setDisplay_address(nodeLongAddrCol.Item(0).InnerText);
                string lat = node.SelectNodes("//location/lat").Item(0).InnerText;
                string lng = node.SelectNodes("//location/lng").Item(0).InnerText;
                loc.setCoords(lat + "," + lng);
                loc.setLat(Convert.ToDouble(lat));
                loc.setLng(Convert.ToDouble(lng));
                return loc;
            }
            catch (NullReferenceException)
            {
                return null;
            }
        }
Beispiel #5
0
        private void MapTest_Load(object sender, EventArgs e)
        {
            tbDest.Text          = "Enter Destination";
            tbLoc.Text           = "Enter Location";
            pictureBox1.SizeMode = PictureBoxSizeMode.StretchImage;
            p          = new Point();
            currMap    = new Mapping.Map();
            currMarker = new Mapping.Marker();
            mu         = new Mapping.MapUtils();
            gu         = new Mapping.GeoUtils();
            g          = new Mapping.Geo();
            //check phone radio is on.
            if (SystemState.PhoneRadioOff == false)
            {
                Cell.CellUtils cu = new Cell.CellUtils();
                Cell.CellTower ct = cu.getTowerInfo();
                g.setLatLng(cu.getCoords(ct));
                g.setLat(cu.getLat());
                g.setLng(cu.getLng());
                currCentre = gu.getGeoLocation(g);
                currMarker = new Mapping.Marker(1, "red", "S", currCentre.getCoords());
                //update location textbox
                tbLoc.Text = currCentre.getDisplay_address();
            }
            else
            {
                g.setAddress("ANU");
                currCentre = gu.getLocation(g);
            }

            //initialize map settings
            startLoc = new Mapping.Location();
            destLoc  = new Mapping.Location();


            currMap.setMapType("rmap");
            currMap.setCenter(currCentre.getCoords());
            currMap.setSensor("false");
            currMap.setSize(480, 300);
            currMap.setZoom(zoom.ToString());
            //currMarker = new Mapping.Marker(1, "red", "S", currCentre.getCoords());
            currMap.clearMarkers();
            currMap.setMarkers(currMarker.toString());
            pictureBox1.Image = mu.getMapImage(mu.generateMap(currMap));

            //add start location
            startLoc = new Mapping.Location();
            startLoc.setReady(1);
            startLoc.setLat(currCentre.getLat());
            startLoc.setLng(currCentre.getLng());
            startLoc.setCoords(currCentre.getCoords());

            //tbLoc.Text = currCentre.getDisplay_address();
        }
Beispiel #6
0
        public Location getGeoLocation(Geo g)
        {
            //http://maps.google.com/maps/api/geocode/xml?latlng=40.714224,-73.961452&sensor=false
            string request = "http://maps.google.com/maps/api/geocode/xml?";
            request += "latlng=" + g.getLatLng() + "&" + "sensor=" + g.getSensor();

            //read in xml
            XmlDocument xdoc = new XmlDocument();
            xdoc.Load(request);

            XmlNode node = xdoc.DocumentElement;
            XmlNodeList nodeLongAddrCol = node.SelectNodes("//formatted_address");

            XmlNodeList nodeShortAddrCol = node.SelectNodes("/GeocodeResponse/address_component[type=route]");
            Location loc = new Location();
            loc.setDisplay_address(nodeLongAddrCol.Item(0).InnerText);

            double lat = g.getLat();
            double lng = g.getLng();
            loc.setCoords(lat + "," + lng);
            loc.setLat(lat);
            loc.setLng(lng);
            return loc;
        }
Beispiel #7
0
        private void MapTest_Load(object sender, EventArgs e)
        {
            tbDest.Text = "Enter Destination";
            tbLoc.Text = "Enter Location";
            pictureBox1.SizeMode = PictureBoxSizeMode.StretchImage;
            p = new Point();
            currMap = new Mapping.Map();
            currMarker = new Mapping.Marker();
            mu = new Mapping.MapUtils();
            gu = new Mapping.GeoUtils();
            g = new Mapping.Geo();
            //check phone radio is on.
            if (SystemState.PhoneRadioOff == false)
            {
                Cell.CellUtils cu = new Cell.CellUtils();
                Cell.CellTower ct = cu.getTowerInfo();
                g.setLatLng(cu.getCoords(ct));
                g.setLat(cu.getLat());
                g.setLng(cu.getLng());
                currCentre = gu.getGeoLocation(g);
                currMarker = new Mapping.Marker(1, "red", "S", currCentre.getCoords());
                //update location textbox
                tbLoc.Text = currCentre.getDisplay_address();
            }
            else
            {
                g.setAddress("ANU");
                currCentre = gu.getLocation(g);
            }

            //initialize map settings
            startLoc = new Mapping.Location();
            destLoc = new Mapping.Location();

            currMap.setMapType("rmap");
            currMap.setCenter(currCentre.getCoords());
            currMap.setSensor("false");
            currMap.setSize(480, 300);
            currMap.setZoom(zoom.ToString());
            //currMarker = new Mapping.Marker(1, "red", "S", currCentre.getCoords());
            currMap.clearMarkers();
            currMap.setMarkers(currMarker.toString());
            pictureBox1.Image = mu.getMapImage(mu.generateMap(currMap));

            //add start location
            startLoc = new Mapping.Location();
            startLoc.setReady(1);
            startLoc.setLat(currCentre.getLat());
            startLoc.setLng(currCentre.getLng());
            startLoc.setCoords(currCentre.getCoords());

            //tbLoc.Text = currCentre.getDisplay_address();
        }