\r
-function Get-TravelTimes() {\r
+function Add-Addresses(){\r
+ Param(\r
+ [string]$addressFile = "Addresses.csv"\r
+ [string]$outFile= "Address_Details.csv"\r
+ )\r
+ $addressList = Get-Content $addressFile | ConvertFrom-Csv\r
+ $details = Get-Content $outFile| ConvertFrom-Csv\r
+\r
+ $addressList | ForEach-Object {\r
+ if($details -NotContains $_.Address)\r
+ {\r
+ $details.Address = $_.Address\r
+ $details.SqFt = $_.SqFt\r
+ $details.Cost = $_.Cost\r
+ }\r
+ }\r
+ $details | Export-Csv -NoTypeInformation -Path $outFile\r
+ Write-Host "Updated $outFile"\r
+}\r
+\r
+\r
+function Add-AddressLocations(){\r
+ Param(\r
+ [string]$outFile= "Address_Details.csv"\r
+ )\r
+ $details = Get-Content $outFile| ConvertFrom-Csv\r
+\r
+ $details | ForEach-Object {\r
+ if($_.Lat -eq '')\r
+ {\r
+ $posit = Get-MapCoords -Address $_.Address\r
+ $_.Lat = $posit.Lat\r
+ $_.Lon = $posit.Lon\r
+ }\r
+ }\r
+ $details | Export-Csv -NoTypeInformation -Path $outFile\r
+ Write-Host "Updated $outFile"\r
+}\r
+\r
\r
+function Add-TravelTimes() {\r
+ Param(\r
+ [string]$outFile= "Address_Details.csv"\r
+ )\r
+ $details = Get-Content $outFile| ConvertFrom-Csv\r
\r
}\r
\r
$subKey = $env:AzMapsSubKey\r
$addyUrl = "https://atlas.microsoft.com/search/address/json?&subscription-key=$subKey&api-version=1.0&language=en-US&query=$address"\r
$result = Invoke-WebRequest $addyUrl\r
- return $result\r
+ if($result.StatusCode -Eq 200){\r
+ return $result.Content | ConvertFrom-Json\r
+ }\r
+ return $result.StatusDescription\r
+}\r
+\r
+function Get-MapCoords() {\r
+ param(\r
+ [string]$address\r
+ )\r
+ $subKey = $env:AzMapsSubKey\r
+ $result = Get-MapAddress -Address $address\r
+ return $result.results.entryPoints[0].position\r
+}\r
+\r
+function Get-MapTravelPlan() {\r
+ param(\r
+ [string]$from_address,\r
+ [string]$to_address\r
+ )\r
+ $subKey = $env:AzMapsSubKey\r
+ $pos1 = Get-MapCoords -Address $from_address\r
+ $lat1 = $pos1.lat\r
+ $lon1 = $pos1.lon\r
+\r
+ $pos2 = Get-MapCoords -Address $to_address\r
+ $lat2 = $pos2.lat\r
+ $lon2 = $pos2.lon\r
+\r
+ $query = "$lat1,$($lon1):$lat2,$lon2"\r
+ # Write-Host $query\r
+ $travelUrl = "https://atlas.microsoft.com/route/directions/json?subscription-key=$subKey&api-version=1.0&query=$query&travelMode=car&traffic=true&departAt=2025-03-29T08:00:20&computeTravelTimeFor=all"\r
+ $result = Invoke-WebRequest $travelUrl\r
+ if($result.StatusCode -Eq 200){\r
+ $content = $result.Content | ConvertFrom-Json\r
+ if($content.formatVersion -Ne "0.0.12"){\r
+ Write-Warning "BEWARE Format has updated! BEWARE"\r
+ }\r
+ return $content.routes\r
+ }\r
+ return $result.StatusDescription\r
+}\r
+\r
+\r
+function Get-MapTravelMinutes() {\r
+ param(\r
+ [string]$from_address,\r
+ [string]$to_address\r
+ )\r
+ $routes = Get-MapTravelPlan -from_address $from_address -to_address $to_address\r
+ $seconds = $routes.summary.travelTimeInSeconds\r
+ return $seconds/60\r
}
\ No newline at end of file