How do I set up Shipping options for specific areas not just by state?

I don’t see any other flat rate by other areas, just state. I need to offer by city too. Or is there another way to set up a delivery charge instead of shipping by city or zipcode?